我一直在使用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二进制文件。然而,有没有更好的方法来做到这一点呢?
当前回答
由于某种原因,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)。
其他回答
从这里找到你想要使用的Node.js和npm版本 NVM使用8.11.4 你已经用Node.js 8.11.4得到了npm 5.6
使用nvm使用node_version。
更改版本的简单方法是首先使用
nvm ls
然后从列表中选择一个版本
nvm use version
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,它现在应该可以工作了。
正如在另一个回答中提到的,现在有一个命令:
NVM现在有一个更新npm的命令。它是nvm install-latest-npm或nvm install——latest-npm。
nvm install-latest-npm:尝试升级到当前Node.js版本的最新工作npm。
nvm install——latest-npm:安装后,尝试升级到给定Node.js版本的最新工作npm。
以下是这个问题正确答案的以前版本。
对于npm的后续版本,现在要简单得多。只需更新nvm安装的版本,它位于~/.nvm/versions/node/[your-version]/lib/node_modules/npm。
我安装了Node.js 4.2.2,它附带npm 2.14.7,但我想使用npm 3。于是我做了:
cd ~/.nvm/versions/node/v4.2.2/lib
npm install npm
简单!
是的,这应该适用于任何模块,而不仅仅是npm,你想为特定版本的node“全局”。
在新版本中,npm -g是智能的,它将模块安装到上面的路径中,而不是系统全局路径。
由于某种原因,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)。