我一直在使用NVM为我的Node.js工作安装最新版本的Node.js。它完全可以安装不同的版本并在它们之间切换。它还在每个本地…安装最新版本的NPM。/bin文件夹和Node.js二进制文件。然而,似乎没有办法切换我正在使用的NPM版本(或者至少我不能弄清楚)。
我自己能想到的唯一解决方案是删除默认的二进制文件(这是我第一次用NVM安装节点时安装的NPM),并在其位置放置最新的NPM二进制文件。然而,有没有更好的方法来做到这一点呢?
我一直在使用NVM为我的Node.js工作安装最新版本的Node.js。它完全可以安装不同的版本并在它们之间切换。它还在每个本地…安装最新版本的NPM。/bin文件夹和Node.js二进制文件。然而,似乎没有办法切换我正在使用的NPM版本(或者至少我不能弄清楚)。
我自己能想到的唯一解决方案是删除默认的二进制文件(这是我第一次用NVM安装节点时安装的NPM),并在其位置放置最新的NPM二进制文件。然而,有没有更好的方法来做到这一点呢?
当前回答
在现有的Node.js安装上安装nvm-windows后,我也遇到了同样的问题。解决办法就是按照说明去做:
你还应该删除现有的npm安装位置(例如: “C:\Users\AppData\Roaming\npm”),以便nvm安装位置 将被正确地使用。
安装与升级
其他回答
你可以使用nvm安装两个版本的Node.js,并在每个Node.js环境中安装不同版本的npm。
例如,nvm install 14.18.0和nvm install 14.18.1将安装两个独立的Node.js环境。
在14.18.0中,你可以使用npm v6(默认安装)。 在14.18.1中,你可以使用npm v7(使用npm install -g npm@7安装)。
这样,你就可以轻松地切换到不同的npm版本。
nvm use 14.18.0
Now using node v14.18.0 (npm v6.14.15)
nvm use 14.18.1
Now using node v14.18.1 (npm v7.24.2)
使用npm i -g npm。试着运行这个。
与之前的指令略有不同。它适用于我(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版本,你必须在节点版本文件夹中安装。
如果你在全球范围内这么做,那就行不通了。
我用的是Windows,这些东西都不能用。我不断得到关于文件的错误。不过这个方法奏效了:
cd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
mv npm npm-old
mv npm.cmd npm-old.cmd
cd node_modules\
mv npm npm-old
cd npm-old\bin
node npm-cli.js i -g npm@latest
cd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
rm npm-old
rm npm-old.cmd
cd node_modules\
rm -rf npm-old
然后,我又开始工作了。