46

在我设置的过程Node.jsNVM,我在使用时偶然发现了一个错误Yeoman。我得到了错误

Cannot find module 'yeoman-generator'

经过一番研究,我在 StackOverflow 上找到了这篇文章,这也是我的问题。现在我尝试这样做,但我遇到的问题是,我想通过使用 NVM 在系统上使用不同版本的 Node.js。如果 Node.js 版本在 NVM 的帮助下发生变化,现在是否可以动态更改 $NODE_PATH?因为我的 $NODE_PATH 目前是空的(这是导致问题的原因)。

$ which node
/Users/dschmidt/.nvm/v0.10.35/bin/node
$ which npm
/Users/dschmidt/.nvm/v0.10.35/bin/npm
$ echo $NODE_PATH
[empty]

我会很高兴我得到的每一个答案。我在网上搜索了这个,但找不到专门关于这个的帖子。

4

4 回答 4

38

添加关注.bashrc.zshrc帮助

export NODE_PATH=$NODE_PATH:`npm root -g`

我不是专家,这是否好。

Pensierinmusica指出的来源

于 2018-03-15T07:03:19.027 回答
27

NVM 会在你运行后设置 node 和 npm 的路径

nvm use <node_version>

但是,这仅适用于当前 shell,除非您设置默认版本,否则任何新 shell 在您运行上一个命令之前都不会选择 node 和 npm 的版本

nvm alias default <node_version>

瞧!在您打开的任何新 shell 中,您都有一个工作版本的 npm 和 node。

要更改默认值,只需使用您要使用的新版本节点再次运行它。例如

nvm alias default v5.4.0
于 2016-01-13T21:25:31.310 回答
17

我想出了一种方法来完成这项工作。

在您的~/.bash_rc文件中或~/.zsh_rc添加以下行:

export NODE_PATH=`which node`

打开新的 shell 或运行它source ~/.bash_rc以获取更改

于 2015-09-21T17:44:37.370 回答
2

这(取自 GN. and Nick)对我来说很好,但我需要添加它,~/.bash_profile因为我在我的 Mac 上使用 Bash 作为 shell

export NODE_PATH=`which node`
于 2021-03-25T14:33:05.230 回答