首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在macOS上更新npm

如何在macOS上更新npm
EN

Stack Overflow用户
提问于 2018-04-05 06:41:14
回答 6查看 124.8K关注 0票数 72

由于我不知道的原因,我一直无法在macOS上更新到npm的最新版本(它在Windows上运行良好)。它不显示任何错误,仅显示“更新1个包”。

使用Node.js 8.11.1

node -v
v8.11.1

我有什么版本的npm?

$ npm -v
5.6.0

我试过了..。

$ npm i -g npm
+ npm@5.8.0
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
+ npm@5.8.0
updated 1 package in 7.618s

它失败了..。

npm -v
5.6.0

使用 sudo__的

sudo npm i -g npm
+ npm@5.8.0
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
+ npm@5.8.0
updated 1 package in 7.478s
$ sudo npm i -g npm
+ npm@5.8.0
updated 1 package in 7.434s

也失败了:

$ npm -v 
5.6.0

我错过了什么?这里发生了什么事?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-07-23 23:53:27

也许你已经解决了这个问题,但这是我在遇到这个问题时发现的。我安装了两个版本的npm。

我对此进行了如下验证:

grep \"version\" ~/.npm-packages/lib/node_modules/npm/package.json

  "version": "6.2.0"

grep \"version\" /usr/local/lib/node_modules/npm/package.json

  "version": "5.6.0",

我通过更新我的bash配置文件中的路径解决了这个问题,但我想知道为什么(如何)我最终得到了2个版本。更新如下:

tail -2 ~/.bash_profile

NPM_PACKAGES="${HOME}/.npm-packages"

PATH="$NPM_PACKAGES/bin:$PATH"
票数 19
EN

Stack Overflow用户

发布于 2018-07-01 11:25:19

npm install -g npm@latest工作正常!!您还可以替换特定版本的最新版本,如npm install -g npm@5.6.0

我希望它能有所帮助!

票数 15
EN

Stack Overflow用户

发布于 2020-12-07 03:35:15

在我的例子中,之前的答案都不起作用。对我来说,一个可行的解决方案是一个简单的五步过程。

  1. 确保已安装(旧版本) npm。

npm -v

如果没有安装npm,那么在Mac上安装Node.js

  1. 全局安装了所需的npm版本。

npm install -g npm@latest

此命令使用旧版本的npm (由Node安装),在~/.npm-global/全局安装最新版本的npm。安装后,关闭并打开一个新的终端shell。

  1. 删除Node

安装的旧版本npm

rm -r /usr/local/lib/node_modules/npm/

有时这不起作用,所以我不得不进入finder删除/npm/文件夹。

  1. 确保设置正确的path变量。

echo $PATH

如果~/.npm-global/bin没有出现在冒号之间,那么更新path变量。在文本编辑器中打开~/.zshrc并添加以下行。如果您不使用zsh,请打开对应外壳的配置文件(即~/.bash_profile)

export PATH=$PATH:$HOME/.npm-global/bin

保存更改并关闭文本编辑器。

  1. 关闭并重新打开终端外壳,然后运行npm -v以检查npm是否正确安装在最新版本上。

更新path变量的原因是因为npm cli建议您使用npm install -g npm更新npm,这将在与Node最初安装npm的位置不同的位置安装npm。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49661521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档