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

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


当前回答

在基于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

其他回答

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

安装n:

npm install -g n

切换版本:

n latest

切换到特定版本:

n 10.16.0

Windows下NVM的安装和使用

Windows下NVM的安装步骤如下:

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

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

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

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

NVM不处理npm。

如果你想安装node。js 0.4。x(许多包仍然依赖于它)并使用NPM,你仍然可以使用NPM 1.0.x。

安装Node.js 0.6。X (NPM 1.1.x附带),然后用NPM安装NVM:

npm install nvm
. ~/nvm/nvm.sh

安装Node.js 0.4。X与nvm:

nvm install v0.4.12
nvm use v0.4.12

使用Install .sh安装npm(注意重定向后的-L参数):

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

这将检测Node.js 0.4.12,并在~/nvm/v0.4.12/lib/node_modules文件夹中安装npm 1.0.106,并为nvm创建一个符号链接:

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

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

由于某种原因,npm install -g npm@X.X.X没有工作,所以我在文件包中更改了npm的版本。NPM文件夹中的Json:

which npm

/opt/homebrew/bin/npm

然后运行

npm install npm

平台:macOS v11.2.2 (Big Sur)与M1 (arm64)。