如何使用nvm更改npm的版本?

我一直在使用NVM为我的节点工作安装nodeJS的最新版本。 它完全适用于安装单独的版本和切换它们。 它还会在每个本地… / bin文件夹以及节点二进制文件中安装最新版本的NPM。 但是,似乎没有任何方法可以切换我使用的NPM版本(或者至less我无法弄清楚)。

我能想到的唯一解决scheme是删除默认的二进制文件(这是在我首次安装节点时安装的NPM),以及放置最新的NPM二进制文件的位置。 但是,我想知道是否有更好的方法去做这件事。

在这个问题首次被问到三年之后,现在的答案似乎更简单了。 只需要更新nvm安装的版本,它位于~/.nvm/versions/node/[your-version]/lib/node_modules/npm

我只是安装节点4.2.2,它与npm 2.14.7,但我想用npm 3.所以我做了:

 cd ~/.nvm/versions/node/v4.2.2/lib npm install npm 

简单!

是的,这应该适用于任何模块,而不仅仅是npm,您希望成为特定版本节点的“全局”。 (编辑:在最新版本中, npm -g很聪明,将模块安装到上面的path而不是系统全局path。)

nvm不处理npm。

所以,如果你想安装节点0.4.x(许多软件包依然依赖)并使用NPM,你仍然可以使用npm 1.0.x。

安装节点0.6.x(附带npm 1.1.x)并用npm安装nvm:

 npm install nvm . ~/nvm/nvm.sh 

用nvm安装节点0.4.x:

 nvm install v0.4.12 nvm use v0.4.12 

使用install.sh安装npm(注意-L参数跟随任何redirect):

 curl -L https://npmjs.org/install.sh | sh 

这将检测节点0.4.12,并将npm 1.0.106安装到〜/ nvm / v0.4.12 / lib / node_modules文件夹中,并为nvm创build符号链接

 ~/nvm/v0.4.12/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js 

如果你尝试运行npm,它仍然会给出一个错误,但是如果你再次nvm use v0.4.12 ,它现在应该可以工作。

在基于Linux的操作系统上更改npm版本并不是一个简单的命令。 我已经做了以下切换回旧版本的NPM。 这应该工作得到任何版本的NPM的工作。 首先安装你想使用的npm版本:

 sudo npm install -g npm@XXX 

删除/ usr / local / bin /

 sudo rm /usr/local/bin/npm 

使用所安装的所需版本的npm重新创buildsym链接

 sudo ln -s /usr/bin/npm@XXX /usr/local/bin/npm 

通过查看http://www.npmjs.com/install.sh,;我发现有一种方法可以通过设置环境variables来安装特定的版本

export npm_install="2.14.14"

然后按照npmjs.com所述运行下载脚本:

curl -L https://www.npmjs.com/install.sh | sh

如果您省略设置npm_installvariables,那么它将安装它们标记为最新的版本

 npm install npm@xxx -g npm install npm@5.4.0 -g 

那么npm i -g npm呢? 你也试过这个吗?