由于我不知道的原因,我无法在macOS上更新到最新版本的npm(它在Windows上运行良好)。* 它没有显示错误,只显示“更新了1个包”。*
使用Node.js 8.11.1
node -v
v8.11.1
字符串
我用的是什么版本的npm?
$ npm -v
5.6.0
型
我试过这个...
$ npm i -g npm
+ [email protected]
updated 1 package in 7.37s
型
它无法更新。
$ npm -v
5.6.0
型
NPM在哪里?
$ which npm
/usr/local/bin/npm
型
所以我尝试brew
...
brew install npm
型
如果失败了...
$ npm -v
5.6.0
型
然后我试着...
npm install npm@latest -g
+ [email protected]
updated 1 package in 7.618s
型
如果失败了...
npm -v
5.6.0
型
- 使用
sudo
:*
sudo npm i -g npm
+ [email protected]
updated 1 package in 7.794s
型
如果失败了...
npm -v
5.6.0
型
- 这也失败了 *
sudo npm install npm@latest -g
型
我遵循directions found on this Q&A,从我的系统中完全删除了npm和node,并从头开始重新安装它们,它也无法更新。
屏幕截图,根据请求:
的数据
关闭终端,然后重新打开终端并运行:
$ npm -v
5.6.0
型sudo
两次:
$ sudo npm i -g npm
+ [email protected]
updated 1 package in 7.478s
$ sudo npm i -g npm
+ [email protected]
updated 1 package in 7.434s
型
同样失败:
$ npm -v
5.6.0
型
我错过什么了?这是怎么回事?
9条答案
按热度按时间0vvn1miw1#
它在我的Mac上工作。
基于文档https://docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-npm:
字符串
文档上有一个说明,取决于你的安装方法,你可能会添加一些
sudo
。在 *nix(OSX、Linux等)上升级
(You可能需要在这些命令前面加上sudo,特别是在Linux或OS X上(如果使用默认安装程序安装Node)。
qgzx9mmu2#
npm install -g npm@latest
工作得很好!!你也可以为特定的版本替换最新的,比如npm install -g [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
我希望它会有帮助!
q43xntqr3#
也许你已经解决了这个问题,但这是我发现的,当我遇到这个问题时,我安装了两个版本的npm。
我验证了这一点如下:
字符串
我通过更新bash配置文件中的路径解决了这个问题,但想知道为什么(如何)我最终得到了2个版本。下面是更新:
型
j2qf4p5b4#
在我的情况下,只有以下几点有帮助:
字符串
**编辑11月21日:**这些天,我完全绕过brew并使用“n”:
https://www.npmjs.com/package/n
我也可以在不同版本之间切换。
lztngnrs5#
对我来说,前面的答案都不管用,对我来说,一个有效的解决方案是一个简单的五步过程。
1.确保安装了(旧版本的)npm。
1x个月
如果没有安装npm,请使用Node.js将其安装在Mac上。
1.全局安装所需版本的npm。
字符串
此命令使用旧版本的npm(由Node安装),在
~/.npm-global/
上全局安装最新版本的npm。安装后,关闭并打开新的终端shell。1.删除Node安装的旧版本npm
型
有时这不起作用,所以我不得不进入finder删除
/npm/
文件夹。1.确保设置正确的路径变量。
型
如果
~/.npm-global/bin
没有出现在冒号之间,则更新路径变量。在文本编辑器中打开~/.zshrc
并添加以下行。如果您不使用zsh,则打开相应shell的配置文件(即~/.bash_profile
)型
保存更改并关闭文本编辑器。
1.关闭并重新打开终端shell,然后运行
npm -v
来检查最新版本的npm是否正确。更新path变量的原因是因为npm安装程序建议您使用
npm install -g npm
更新npm,这将在与Node最初安装npm的位置不同的位置安装npm。ql3eal8s6#
我也遇到了同样的问题。你可能已经安装了npm版本,现在是时候安装新的npm版本了。你可以按照下面的步骤来做。
1.将
"version" : "5.6.0"
更改为"verison": "5.8.0"
vngu2lb87#
在我的例子中,我使用
nvm
来管理node
的不同版本。为了升级npm版本,我必须1 -通过导航到当前版本的node安装最新版本的npm
字符串
或者你可以用
型
2 -编辑
$PATH
以指向您当前的node
版本型
jutyujz08#
虽然这可能是旧的,但我想做一些更新这个问题以及。
通过brew安装节点
1x个月
安装了最新的npm版本,
npm i -g npm@latest
个npm -v显示
10.1.0
原因是在.zshrc中,我包含了node@20
export PATH="/usr/local/opt/node@20/bin:$PATH"
个改为
export PATH="$PATH:/usr/local/opt/node@20/bin"
个原因是安装了两个版本的npm,如果10.1.0覆盖了10.2.4,则$PATH扩展的顺序很重要,反之亦然
k7fdbhmy9#
在我的macOS上,homebrew安装的npm由于预先存在的链接文件而不想升级。我用
--force
标志运行了安装,现在一切正常。字符串
还要注意的是,在我的例子中,由于homebrew,不需要'sudo'。要检查你的npm是否安装了homebrew,请使用
brew list
。型