我一直在使用NVM为我的节点工作安装最新版本的nodeJS。它适用于安装单独的版本并在它们之间切换。它还在每个本地... / bin文件夹中安装最新版本的NPM以及节点二进制文件。但是,似乎没有任何方法可以切换我正在使用的NPM版本(或者至少我无法弄明白)。
我能想到的唯一解决方案是删除它默认的二进制文件(这是我第一次使用NVM安装节点时安装的NPM),并取代它放置最新的NPM二进制文件。但是,我想知道是否有更好的方法可以做到这一点。
答案 0 :(得分:280)
编辑:自a newer answer中提到这个问题首次回答几年后,现在有一个命令:
nvm现在有一个更新npm的命令。它是
Derived
或nvm install-latest-npm
。
nvm install --latest-npm
:尝试升级到当前节点版本上的最新工作nvm install-latest-npm
npm
:安装后,尝试升级到给定节点版本上的最新工作npm
以下是此问题正确答案的修订版。
在第一次提出这个问题后的三年多时间里,答案现在似乎更简单了。只需更新nvm安装的版本,该版本位于nvm install --latest-npm
。
我刚刚安装了节点4.2.2,它带有npm 2.14.7,但我想使用npm 3.所以我做了:
~/.nvm/versions/node/[your-version]/lib/node_modules/npm
容易!
是的,这应该适用于任何模块,而不仅仅是npm,您希望对特定版本的节点“全局”。
编辑1:在最新版本中,cd ~/.nvm/versions/node/v4.2.2/lib
npm install npm
是智能的,并将模块安装到上面的路径而不是系统全局路径。
感谢@philraj在评论中指出这一点。
答案 1 :(得分:41)
nvm无法处理npm。
因此,如果您要安装节点0.4.x(许多软件包仍然依赖)并使用NPM,您仍然可以使用npm 1.0.x。
安装节点0.6.x(随npm 1.1.x一起提供)并使用npm:
安装nvmnpm install nvm
. ~/nvm/nvm.sh
使用nvm:
安装节点0.4.x.nvm install v0.4.12
nvm use v0.4.12
使用install.sh安装npm(注意-L
param以遵循任何重定向):
curl -L https://npmjs.org/install.sh | sh
这将检测节点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,它仍然会出错,但如果再次执行nvm use v0.4.12
,它现在应该可以正常工作。
答案 2 :(得分:19)
npm install npm@x.x.x -g
npm install npm@5.4.0 -g
答案 3 :(得分:16)
在基于Linux的操作系统上更改npm版本并不是一个简单的命令过程。我已经完成了以下操作,切换回旧版本的npm。这应该可以使任何版本的npm工作。首先安装你想要使用的npm版本:
sudo npm install -g npm@X.X.X
删除/ usr / local / bin /
中的sym链接sudo rm /usr/local/bin/npm
使用所安装的npm版本
重新创建sym链接sudo ln -s /usr/bin/npm@X.X.X /usr/local/bin/npm
答案 4 :(得分:11)
我在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
繁荣,我又回来了。
答案 5 :(得分:8)
通过查看 www.npmjs.com/install.sh ,我发现有一种方法可以通过设置环境变量来安装特定版本
export npm_install="2.14.14"
然后按 npmjs.com :
中所述运行下载脚本 curl -L https://www.npmjs.com/install.sh | sh
如果省略设置 npm_install 变量,则会安装标记为最新
的版本答案 6 :(得分:4)
在Windows中,以管理员身份运行终端(如果存在权限问题)。然后使用特定的节点版本(比如说7.8.0)
nvm use 7.8.0
然后通过
将你的npm更新为所需的特定版本npm install -g npm@5.0.3
答案 7 :(得分:2)
npm i -g npm
怎么样?你也尝试过这个吗?
答案 8 :(得分:2)
上述说明略有不同,对我有用。 (MacOS Sierra 10.12.6)
npm install -g npm@3.10.10
rm /usr/local/bin/npm
ln -s ~/.npm-packages/bin/npm /usr/local/bin/npm
npm --version
答案 9 :(得分:1)
我们可以使用 n 轻松解决这个问题。
安装 n
>> npm install -g n
切换版本
>> n latest
切换到特定版本
>> n 10.16.0
答案 10 :(得分:0)
在现有Node安装之上安装nvm-windows
之后,我遇到了同样的问题。解决方案只是按照说明进行操作:
您还应该删除现有的npm安装位置(例如, “ C:\ Users \ AppData \ Roaming \ npm”),以便nvm安装位置 将会正确使用。
答案 11 :(得分:0)
在Windows上安装和使用NVM
以下是在Windows上安装NVM的步骤:
NVM代表节点版本管理器,它将帮助您将节点版本切换为特定用途。它还允许用户使用多个npm和节点版本。
安装nvm设置。 使用命令“ nvm list”检查已安装节点版本的列表。 键入“ nvm使用版本号[6.9.3]”以切换版本。 对于more info
答案 12 :(得分:0)
答案 13 :(得分:0)
更改版本的简单方法是先使用来检查可用版本 nvm ls 然后从列表中选择版本 nvm使用版本
答案 14 :(得分:0)
由于某种原因 npm install -g npm@X.X.X
不起作用,所以我在 package.json
文件夹中的 npm
中更改了 npm 版本
➜ ~ which npm
/opt/homebrew/bin/npm
然后运行
npm install npm
macOS 11.2.2,M1 (arm64)