如何使用nvm更改npm的版本?

时间:2012-03-18 03:49:56

标签: node.js npm

我一直在使用NVM为我的节点工作安装最新版本的nodeJS。它适用于安装单独的版本并在它们之间切换。它还在每个本地... / bin文件夹中安装最新版本的NPM以及节点二进制文件。但是,似乎没有任何方法可以切换我正在使用的NPM版本(或者至少我无法弄明白)。

我能想到的唯一解决方案是删除它默认的二进制文件(这是我第一次使用NVM安装节点时安装的NPM),并取代它放置最新的NPM二进制文件。但是,我想知道是否有更好的方法可以做到这一点。

15 个答案:

答案 0 :(得分:280)

编辑:自a newer answer中提到这个问题首次回答几年后,现在有一个命令:

  

nvm现在有一个更新npm的命令。它是Derivednvm 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:

安装nvm
npm 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安装位置   将会正确使用。

Installation & Upgrades

答案 11 :(得分:0)

在Windows上安装和使用NVM

以下是在Windows上安装NVM的步骤:

NVM代表节点版本管理器,它将帮助您将节点版本切换为特定用途。它还允许用户使用多个npm和节点版本。

安装nvm设置。 使用命令“ nvm list”检查已安装节点版本的列表。 键入“ nvm使用版本号[6.9.3]”以切换版本。 对于more info

答案 12 :(得分:0)

  1. 从这里https://nodejs.org/en/download/releases/
  2. 查找要使用的节点和npm版本。
  3. nvm使用8.11.4
  4. 您已经拥有了npm 5.6(稳定可靠)

答案 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)