我一直在使用NVM为节点工作安装最新版本的nodeJS。对于安装单独的版本并在它们之间进行切换,它完全可以正常工作。它还将在每个本地... / bin文件夹中安装NPM的最新版本以及节点二进制文件。但是,似乎没有任何方法可以切换我正在使用的NPM版本(或者至少我无法弄清楚)。
我能想到的唯一解决方案是删除默认的二进制文件(这是我第一次使用NVM安装节点时安装的NPM),并放置最新的NPM二进制文件。但是,我想知道是否还有更好的方法可以做到这一点。
我一直在使用NVM为节点工作安装最新版本的nodeJS。对于安装单独的版本并在它们之间进行切换,它完全可以正常工作。它还将在每个本地... / bin文件夹中安装NPM的最新版本以及节点二进制文件。但是,似乎没有任何方法可以切换我正在使用的NPM版本(或者至少我无法弄清楚)。
我能想到的唯一解决方案是删除默认的二进制文件(这是我第一次使用NVM安装节点时安装的NPM),并放置最新的NPM二进制文件。但是,我想知道是否还有更好的方法可以做到这一点。
Answers:
编辑:自从首次回答此问题以来已有数年,如新答案中所述,现在有一个命令可用于:
nvm现在有一个更新npm的命令。是
nvm install-latest-npm
或nvm install --latest-npm
。
nvm install-latest-npm
:尝试升级到npm
当前节点版本上的最新版本
nvm install --latest-npm
:安装后,尝试在给定的节点版本上升级到最新的工作npm
以下是此问题正确答案的先前版本。
在首次提出此问题后的三年中,现在的答案似乎要简单得多。只需更新nvm安装的版本(位于)即可~/.nvm/versions/node/[your-version]/lib/node_modules/npm
。
我刚刚安装了npm 2.14.7附带的节点4.2.2,但是我想使用npm3。所以我做到了:
cd ~/.nvm/versions/node/v4.2.2/lib
npm install npm
简单!
是的,这应该适用于要成为特定版本的节点“全局”的任何模块,而不仅仅是npm。
编辑1:在最新版本中,它npm -g
很聪明,并且将模块安装到上面的路径中,而不是系统全局路径中。
感谢@philraj在评论中指出这一点。
which npm
。
npm install npm@major.minor.patch
以获取该特定版本,例如npm@3.10.9
cd ~/AppData/Roaming/nvm/v5.10.1
。
nvm install-latest-npm
由samlandfried回答如下- stackoverflow.com/a/47519162/5991278
nvm不处理npm。
因此,如果要安装节点0.4.x(许多软件包仍依赖该节点)并使用NPM,则仍可以使用npm1.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
参数以进行任何重定向):
curl -L https://npmjs.org/install.sh | sh
这将检测节点0.4.12并将npm 1.0.106安装在〜/ nvm / v0.4.12 / lib / node_modules文件夹中,并为nvm创建符号链接
~/nvm/v0.4.12/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js
如果您尝试运行npm,它仍然会给出错误,但是如果您nvm use v0.4.12
再次执行,它现在应该可以工作。
curl https://npmjs.org/install.sh | sh
curl -L
遵循重定向。
nvm现在有一个更新npm的命令。是nvm install-latest-npm
或npm install --latest-npm
。
nvm help
控制台输出:不过, --latest-npm After installing, attempt to upgrade to the latest working npm on the given node version
我在nvm
文档中没有找到对此的引用。如果发现它,请分享。
我在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
繁荣起来,我又恢复了业务。
mv
为ren
and rm
to del
and rmdir
for me。
在基于Linux的操作系统上更改npm版本并不是一个简单的命令过程。我已经完成以下操作,以切换回旧版本的npm。这应该可以使任何版本的npm正常工作。首先安装您要使用的npm版本:
sudo npm install -g npm@X.X.X
删除/ usr / local / bin /中的符号链接
sudo rm /usr/local/bin/npm
使用所需的npm版本重新创建符号链接
sudo ln -s /usr/bin/npm@X.X.X /usr/local/bin/npm
sudo npm install -g npm@x.x.x
使我从响应该版本npm -v
。无论如何,这至少可以从4.x升级到2.15.9。
sudo npm install -g npm@4.6.1
仅安装4.6.1,但仍使用npm 5.1.0。您的提示可以帮助我切换到4.6.1。
通过查看www.npmjs.com/install.sh,我发现可以通过设置环境变量来安装特定版本
export npm_install="2.14.14"
然后按照npmjs.com所述运行下载脚本:
curl -L https://www.npmjs.com/install.sh | sh
如果省略设置npm_install变量,则它将安装他们标记为最新的版本。
curl -L https://www.npmjs.com/install.sh | sudo sh
aaaa,并且此方法不起作用,即使我已导出所述环境变量,也无法获得最新版本。可恶。我想要2.14.7的2.15.9版本,下面的答案将我设为3.8.6,现在这个答案将我设为4.0.2。WTF。
nvm use 8.11.4
随便去吧 nvm use node_version
Windows上的NVM安装和使用
以下是在Windows上安装NVM的步骤:
NVM代表节点版本管理器,它将帮助您将节点版本切换为特定用途。它还允许用户使用多个npm和节点版本。
安装nvm安装程序。使用命令“ nvm list”检查已安装节点版本的列表。键入“ nvm使用版本号[6.9.3]”以切换版本。欲了解更多信息