我一直在使用NVM为我的节点工作安装最新版本的nodeJS.它适用于安装单独的版本并在它们之间切换.它还在每个本地.../bin文件夹中安装最新版本的NPM以及节点二进制文件.但是,似乎没有任何方法可以切换我正在使用的NPM版本(或者至少我无法弄明白).
我能想到的唯一解决方案是删除它默认的二进制文件(这是我第一次使用NVM安装节点时安装的NPM),并取代它放置最新的NPM二进制文件.但是,我想知道是否有更好的方法可以做到这一点.
law*_*nce 306
在第一次提出这个问题三年之后,现在似乎答案更简单了.只需更新nvm安装的版本即可nvm install-latest-npm
.
我刚刚安装了节点4.2.2,它带有npm 2.14.7,但我想使用npm 3.所以我做了:
cd ~/.nvm/versions/node/v4.2.2/lib
npm install npm
Run Code Online (Sandbox Code Playgroud)
简单!
是的,这应该适用于任何模块,而不仅仅是npm,您希望对特定版本的节点"全局".
编辑1:在最新版本中,nvm install --latest-npm
智能并将模块安装到上面的路径而不是系统全局路径.
编辑2,另外两年和六个Node版本之后:如新的答案中所述,现在有一个命令:
nvm现在有一个更新npm的命令.是
nvm install-latest-npm
或npm
.
nvm install --latest-npm
:尝试升级到~/.nvm/versions/node/[your-version]/lib/node_modules/npm
当前节点版本的最新版本
npm -g
:安装后,尝试升级到给定节点版本上的最新工作npm
感谢@philraj在评论中指出这一点.
fij*_*ron 42
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
Run Code Online (Sandbox Code Playgroud)
使用nvm安装节点0.4.x:
nvm install v0.4.12
nvm use v0.4.12
Run Code Online (Sandbox Code Playgroud)
使用install.sh安装npm(注意-L
param遵循任何重定向):
curl -L https://npmjs.org/install.sh | sh
Run Code Online (Sandbox Code Playgroud)
这将检测节点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
Run Code Online (Sandbox Code Playgroud)
如果你试图运行npm,它仍然会出错,但是如果再做nvm use v0.4.12
一次,它现在应该可以运行了.
sam*_*ied 30
nvm现在有一个更新npm的命令.是nvm install-latest-npm
或npm install --latest-npm
.
小智 26
npm install npm@x.x.x -g
npm install npm@5.4.0 -g
Run Code Online (Sandbox Code Playgroud)
Rya*_*ton 22
我在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
Run Code Online (Sandbox Code Playgroud)
繁荣起来,我又重新开始营业。
Aru*_*ddy 17
在基于Linux的操作系统上更改npm版本并不是一个简单的命令过程.我已经完成了以下操作,切换回旧版本的npm.这应该可以使任何版本的npm工作.首先安装你想要使用的npm版本:
sudo npm install -g npm@X.X.X
Run Code Online (Sandbox Code Playgroud)
删除/ usr/local/bin /中的sym链接
sudo rm /usr/local/bin/npm
Run Code Online (Sandbox Code Playgroud)
使用您安装的所需版本的npm重新创建sym链接
sudo ln -s /usr/bin/npm@X.X.X /usr/local/bin/npm
Run Code Online (Sandbox Code Playgroud)
hig*_*ump 15
您可以使用 nvm 安装两个版本的 Node.js,并在每个 Node.js 环境上安装不同版本的 npm。
例如,nvm install 14.18.0
将nvm install 14.18.1
安装两个独立的 Node.js 环境。
npm
v6(默认安装)。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)
Run Code Online (Sandbox Code Playgroud)
小智 8
通过查看www.npmjs.com/install.sh,我发现有一种方法可以通过设置环境变量来安装特定版本
export npm_install="2.14.14"
然后按照npmjs.com中的说明运行download-script :
curl -L https://www.npmjs.com/install.sh | sh
如果省略设置npm_install变量,那么它将安装标记为最新的版本
我们可以使用n轻松解决这个问题。
要安装n:
npm install -g n
Run Code Online (Sandbox Code Playgroud)
切换版本:
n latest
Run Code Online (Sandbox Code Playgroud)
要切换到特定版本:
n 10.16.0
Run Code Online (Sandbox Code Playgroud)
在Windows中,以管理员身份运行您的终端(以防我遇到权限问题)。然后使用特定的节点版本(例如7.8.0)
nvm use 7.8.0
Run Code Online (Sandbox Code Playgroud)
然后通过以下方式将您的npm更新为所需的特定版本
npm install -g npm@5.0.3
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
224329 次 |
最近记录: |