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

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


当前回答

通过查看www.npmjs.com/install.sh,我发现有一种通过设置环境变量来安装特定版本的方法。

出口npm_install = " 2.14.14 "

然后运行npmjs.com上描述的下载脚本:

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

如果忽略设置npm_install变量,那么它将安装标记为最新的版本。

其他回答

由于某种原因,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)。

与之前的指令略有不同。它适用于我(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

通过查看www.npmjs.com/install.sh,我发现有一种通过设置环境变量来安装特定版本的方法。

出口npm_install = " 2.14.14 "

然后运行npmjs.com上描述的下载脚本:

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

如果忽略设置npm_install变量,那么它将安装标记为最新的版本。

更改版本的简单方法是首先使用

nvm ls

然后从列表中选择一个版本

nvm use version

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

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