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的主要内容,如果未能解决你的问题,请参考以下文章

使用nvm安装node出现这个错误,怎么解决

安装node.js版本管理器nvm以及添加npm

使用 nvm 卸载当前活动版本的 node.js

使用 NVM (Ubuntu) 安装多个版本的 node.js

nvm 安装使用及配置淘宝下载镜像

如何使用 nvm 设置默认 Node.js 版本? [复制]