由于我不知道的原因,我一直无法在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
我错过了什么?这里发生了什么事?
发布于 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"
发布于 2018-07-01 11:25:19
npm install -g npm@latest
工作正常!!您还可以替换特定版本的最新版本,如npm install -g npm@5.6.0
我希望它能有所帮助!
发布于 2020-12-07 03:35:15
在我的例子中,之前的答案都不起作用。对我来说,一个可行的解决方案是一个简单的五步过程。
npm -v
如果没有安装npm,那么在Mac上安装Node.js。
npm install -g npm@latest
此命令使用旧版本的npm (由Node安装),在~/.npm-global/
全局安装最新版本的npm。安装后,关闭并打开一个新的终端shell。
安装的旧版本npm
rm -r /usr/local/lib/node_modules/npm/
有时这不起作用,所以我不得不进入finder删除/npm/
文件夹。
echo $PATH
如果~/.npm-global/bin
没有出现在冒号之间,那么更新path变量。在文本编辑器中打开~/.zshrc
并添加以下行。如果您不使用zsh,请打开对应外壳的配置文件(即~/.bash_profile
)
export PATH=$PATH:$HOME/.npm-global/bin
保存更改并关闭文本编辑器。
npm -v
以检查npm是否正确安装在最新版本上。更新path变量的原因是因为npm cli建议您使用npm install -g npm
更新npm,这将在与Node最初安装npm的位置不同的位置安装npm。
https://stackoverflow.com/questions/49661521
复制相似问题