ubuntu我已经使用在我的系统中安装了节点nvm。到目前为止它一直运行顺利,但是我的一个项目需要设置 $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
Run Code Online (Sandbox Code Playgroud)
我读过其他类似的问题和答案没有帮助。我已经尝试过类似的命令
nvm use 8.9.1
nvm alias default 8.9.1
Run Code Online (Sandbox Code Playgroud)
这些命令并不能解决问题。
(这里是 nvm 维护者)
nvm故意不设置,NODE_PATH因为它是使用它的反模式 - 它允许您执行require未本地安装的内容。
您可以在运行后手动设置它nvm use,但根本不需要它。nvm不提供任何挂钩来自动设置它(按设计)。
因此,解决这个问题的最佳方法是重构您的项目,使其不再依赖于这个已弃用的功能,无论何时,该节点本身都不会支持其本机 ES 模块实现。