我一直在使用NVM为我的Node.js工作安装最新版本的Node.js。它完全可以安装不同的版本并在它们之间切换。它还在每个本地…安装最新版本的NPM。/bin文件夹和Node.js二进制文件。然而,似乎没有办法切换我正在使用的NPM版本(或者至少我不能弄清楚)。

我自己能想到的唯一解决方案是删除默认的二进制文件(这是我第一次用NVM安装节点时安装的NPM),并在其位置放置最新的NPM二进制文件。然而,有没有更好的方法来做到这一点呢?


当前回答

在Windows系统中,以系统管理员身份运行终端(以防出现像我一样的权限问题)。然后使用特定的Node.js版本(比如7.8.0)

nvm use 7.8.0

然后更新你的npm到所需的特定版本:

npm install -g npm@5.0.3

其他回答

我们可以用n很容易地解出来。

安装n:

npm install -g n

切换版本:

n latest

切换到特定版本:

n 10.16.0

正如在另一个回答中提到的,现在有一个命令:

NVM现在有一个更新npm的命令。它是nvm install-latest-npm或nvm install——latest-npm。

nvm install-latest-npm:尝试升级到当前Node.js版本的最新工作npm。

nvm install——latest-npm:安装后,尝试升级到给定Node.js版本的最新工作npm。

以下是这个问题正确答案的以前版本。

对于npm的后续版本,现在要简单得多。只需更新nvm安装的版本,它位于~/.nvm/versions/node/[your-version]/lib/node_modules/npm。

我安装了Node.js 4.2.2,它附带npm 2.14.7,但我想使用npm 3。于是我做了:

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

简单!

是的,这应该适用于任何模块,而不仅仅是npm,你想为特定版本的node“全局”。


在新版本中,npm -g是智能的,它将模块安装到上面的路径中,而不是系统全局路径。

在Windows系统中,以系统管理员身份运行终端(以防出现像我一样的权限问题)。然后使用特定的Node.js版本(比如7.8.0)

nvm use 7.8.0

然后更新你的npm到所需的特定版本:

npm install -g npm@5.0.3

与之前的指令略有不同。它适用于我(macOS v10.12.6 (Sierra))。

npm install -g npm@3.10.10
rm /usr/local/bin/npm
ln -s ~/.npm-packages/bin/npm /usr/local/bin/npm
npm --version

为了在使用nvm时改变你的npm版本,你必须只在需要的Node.js版本的文件夹中安装你的npm版本。例如,如果你想安装npm 8.12.1版本,你必须在节点版本文件夹中安装。

如果你在全球范围内这么做,那就行不通了。