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

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


当前回答

Use

npm install npm@x.x.x -g
npm install npm@5.4.0 -g

其他回答

从这里找到你想要使用的Node.js和npm版本 NVM使用8.11.4 你已经用Node.js 8.11.4得到了npm 5.6

使用nvm使用node_version。

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

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是智能的,它将模块安装到上面的路径中,而不是系统全局路径。

在我的例子中,我在一个被nvm设置为版本10的Node.js环境中将npm从版本6更新到版本8。这导致npm不再工作,使我在这里找到的答案毫无用处。

最后我清除了nvm文件夹:

rm -rf ~/.nvm/versions/node/*

之后我可以再次使用nvm和npm。我的经验是:永远不要用npm安装一个新的npm版本。NVM install-latest-npm似乎可以让你在遗留环境中安全更新。

Windows下NVM的安装和使用

Windows下NVM的安装步骤如下:

NVM代表节点版本管理器,它将帮助切换你的Node.js版本以供特定用途。它还允许用户使用多个npm和Node.js版本。

安装nvm setup。 使用“nvm list”命令查看已安装的Node.js版本列表。 输入“nvm use version number[6.9.3]”切换版本。 获取更多信息。

在基于linux的操作系统上更改npm版本还不是一个简单的单命令过程。我已经做了以下操作来切换回较旧版本的npm。这应该可以让任何版本的npm工作。

首先安装你想要使用的npm版本:

sudo npm install -g npm@X.X.X

删除/usr/local/bin/中的符号链接:

sudo rm /usr/local/bin/npm

使用你想要的npm版本重新创建符号链接:

sudo ln -s /usr/bin/npm@X.X.X /usr/local/bin/npm