Node.js - 使用 NVM 配置 $NODE_PATH
Posted
技术标签:
【中文标题】Node.js - 使用 NVM 配置 $NODE_PATH【英文标题】:Node.js - Configuring $NODE_PATH with NVM 【发布时间】:2015-03-08 17:14:09 【问题描述】:在使用NVM
设置Node.js
的过程中,我在使用Yeoman
时偶然发现了一个错误。我有
错误
Cannot find module 'yeoman-generator'
经过一番研究,我找到了this post on ***,这也是我的问题。现在我尝试这样做,但我遇到的问题是,我想通过使用 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]
我会很高兴我得到的每一个答案。我在网上搜索了这个,但找不到专门关于这个的帖子。
【问题讨论】:
$ export NODE_PATH=whatever
我知道这一点,我提到了动态。
也在寻找其他人做了什么。你找到解决方案了吗@DominikSchmidt?
我通过安装没有 NVM 的 Node 来修复它。但是没有找到使用 NVM 的解决方案。
this 有帮助吗?
【参考方案1】:
这(取自 GN. 和 Nick)对我来说很好,但我需要将它添加到 ~/.bash_profile
,因为我在 Mac 上使用 Bash 作为 shell
export NODE_PATH=`which node`
【讨论】:
【参考方案2】:将关注添加到.bashrc
或.zshrc
有帮助
export NODE_PATH=$NODE_PATH:`npm root -g`
我不是专家,这是否好。
source 正如 Pensierinmusica 指出的那样
【讨论】:
这是专门针对与使用 yeoman 生成器有关的问题的正确答案。【参考方案3】: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
【讨论】:
我必须去掉反引号 ` ` 才能为我工作。抬头看看其他菜鸟。 nvm alias default x.x.x 我在 Linux Mint 18.1 Serena 上使用 nvm。 您的回答是关于一般 nvm 的使用。原始查询是关于根据 nvm 节点版本设置 NODE_PATH 变量(这里是动态的关键字) 这似乎并不奏效。echo $NODE_PATH
设置后对我来说是空白的。
这实际上并没有回答问题 ...nvm alias .. 设置将作为命令可用的 node/npm 版本,但它没有设置 $NODE_PATH 变量,这是必需的由某些应用程序正常工作:/
@funder7 您需要在 .bash_profile 或 .zshrc 或 .bashrc 中设置 $NODE_PATH 变量作为安装 nvm 的一部分【参考方案4】:
我想出了一种方法来完成这项工作。
在您的~/.bash_rc
文件或~/.zsh_rc
中添加此行:
export NODE_PATH=`which node`
打开新的 shell 或运行 source ~/.bash_rc
以获取更改
【讨论】:
which node
in zshrc 似乎引用系统节点。 which $NODE_PATH
吐出/usr/local/bin/node
。那么/usr/local/bin/node -v
是我的系统节点
您是否设置了要与 nvm alias default 以上是关于Node.js - 使用 NVM 配置 $NODE_PATH的主要内容,如果未能解决你的问题,请参考以下文章