设置 nvm 以正确使用 npm 和 grunt

Posted

技术标签:

【中文标题】设置 nvm 以正确使用 npm 和 grunt【英文标题】:Set up nvm to properly work with npm and grunt 【发布时间】:2014-11-13 07:35:50 【问题描述】:

我对 Web 应用程序开发有点陌生,并且浏览了 Yeoman 教程,该教程使用了 yogruntbowerangular

我曾使用自制软件安装nodenpm,但由于某些权限等原因,npm 不断出现错误。我使用brew 卸载了node,而是使用nvm 安装nodenpm,这不再给我错误。

但是,nvm 有点烦人。我知道它是一个node 版本管理器,我每次打开shell 时都必须nvm use 0.10。但是现在,每当我想从一个新的 shell 中 grunt serve 我的网络应用程序时,我都需要安装 grunt-cli:

nvm use 0.10
npm install -g grunt-cli
# ...
grunt serve

grunt-cli 不是全局安装吗?或者它是没有意义的,因为npm 不会在不同的外壳之间“停留”?

基本上,我现在只需使用一个版本的节点就可以了。如何设置nvmnpmgrunt,这样我每次打开新shell 时都不必重新安装grunt

【问题讨论】:

大约两周后,问题似乎自行解决了。我现在可以grunt serve 根本不用调用 nvm 或 npm。 我遇到了和你一样的问题:我需要每次运行 nvm usenpm install 才能启动 grunt。如果你知道如何问题解决了。 我相信nvm alias default v0.10.33(或您想使用的任何版本)将解决大多数问题。这意味着您不必每次打开新外壳时都输入nvm use。见这里:***.com/questions/24585261/… 太棒了,解决了它。你应该回答你自己的问题。 这个问题真的很烦人。对我来说,解决方法是多次使用nvm use <version>,然后使用npm install grunt。出现错误然后我终于能够安装所有包,包括 package.json 中的 grunt。然后我终于可以使用 grunt .... 【参考方案1】:

转到您的命令提示符并尝试“nvm alias default”。如果您想使用版本“0.12.7”,那么您的命令将是“nvm alias default 0.12.7”,并交叉检查该版本是否在全局范围内使用,打开一个新的命令提示符并使用命令“node -v”。

【讨论】:

【参考方案2】:

每次您可以留下 .nvmrc 文件时,都不要使用 nvm

来自docs:

echo "0.12" >> .nvmrc 

现在当你下次进入该目录时,nvm 将读取该文件并加载该特定版本。

您可以检查它是否可以使用

nvm use

【讨论】:

以上是关于设置 nvm 以正确使用 npm 和 grunt的主要内容,如果未能解决你的问题,请参考以下文章

npm 是使用 nvm 安装的,但 IntelliJ 不知道它

NPM 和 NVM 的区别

使用nvm管理多个不同版本的nodeJS之安装成功nodeJs之后使用npm报错的问题

使用 nvm 管理不同版本的 node 与 npm

NVM:npm install -g 一直使用错误的节点版本

NVM 全局模块文件夹