如何在使用nvm时设置$ NODE_PATH?

时间:2017-12-03 16:27:11

标签: node.js nvm

我已使用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

我读过其他类似的问题和答案但没有帮助。我已经尝试了像

这样的命令
nvm use 8.9.1

nvm alias default 8.9.1

这些命令无法解决问题。

1 个答案:

答案 0 :(得分:2)

(nvm维护者在这里)

nvm故意不设置NODE_PATH,因为它是反模式使用它 - 它允许您require本地安装的东西。

您可以在运行nvm use后自行手动设置,但根本不需要它。 nvm没有提供任何挂钩来自动设置(按设计)。

因此,解决问题的最佳方法是重构您的项目,使其不再依赖于这个不赞成使用的功能,该节点本身并不会支持其本机ES模块实现。