使用nvm时如何设置$NODE_PATH?
How to set $NODE_PATH when using nvm?
我已经使用 nvm
在我的 ubuntu
系统中安装了节点。到目前为止它一直运行顺利,但是我的一个项目需要 $NODE_PATH 设置并且 nvm
没有设置它。
我会手动设置它,但我使用多个版本的节点。解决这个问题的最佳方法是什么。
我从终端命令得到以下结果
node -v
v8.9.1
npm -v
5.5.1
which node
/home/username/.nvm/versions/node/v8.9.1/bin/node
echo $NODE_PATH
[nothing]
nvm --version
0.33.6
nvm ls
-> v8.9.1
v9.0.0
default -> v8.9.1
six -> lts/boron (-> N/A)
node -> stable (-> v9.0.0) (default)
stable -> 9.0 (-> v9.0.0) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> v8.9.1)
lts/argon -> v4.8.6 (-> N/A)
lts/boron -> v6.12.0 (-> N/A)
lts/carbon -> v8.9.1
我已经阅读了其他类似的问题和答案,但没有帮助。我已经尝试过
这样的命令
nvm use 8.9.1
nvm alias default 8.9.1
这些命令没有解决它。
(这里是 nvm 维护者)
nvm
有意不设置 NODE_PATH
因为使用它是一种反模式 - 它允许您 require
未在本地安装的东西。
可以自己手动设置,在运行nvm use
之后,但应该根本不需要。 nvm
不提供任何挂钩来自动设置它(按设计)。
因此,解决它的最佳方法是重构您的项目,使其不再依赖于这个已弃用的功能,该节点本身不会支持其本地 ES 模块实现。
我已经使用 nvm
在我的 ubuntu
系统中安装了节点。到目前为止它一直运行顺利,但是我的一个项目需要 $NODE_PATH 设置并且 nvm
没有设置它。
我会手动设置它,但我使用多个版本的节点。解决这个问题的最佳方法是什么。
我从终端命令得到以下结果
node -v
v8.9.1
npm -v
5.5.1
which node
/home/username/.nvm/versions/node/v8.9.1/bin/node
echo $NODE_PATH
[nothing]
nvm --version
0.33.6
nvm ls
-> v8.9.1
v9.0.0
default -> v8.9.1
six -> lts/boron (-> N/A)
node -> stable (-> v9.0.0) (default)
stable -> 9.0 (-> v9.0.0) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> v8.9.1)
lts/argon -> v4.8.6 (-> N/A)
lts/boron -> v6.12.0 (-> N/A)
lts/carbon -> v8.9.1
我已经阅读了其他类似的问题和答案,但没有帮助。我已经尝试过
这样的命令nvm use 8.9.1
nvm alias default 8.9.1
这些命令没有解决它。
(这里是 nvm 维护者)
nvm
有意不设置 NODE_PATH
因为使用它是一种反模式 - 它允许您 require
未在本地安装的东西。
可以自己手动设置,在运行nvm use
之后,但应该根本不需要。 nvm
不提供任何挂钩来自动设置它(按设计)。
因此,解决它的最佳方法是重构您的项目,使其不再依赖于这个已弃用的功能,该节点本身不会支持其本地 ES 模块实现。