npm install -g npm未更新

eyn*_*eyn 5 node.js npm

我似乎无法使用npm install更新npm:

$ npm -v
5.6.0
$ sudo npm install -g npm@latest
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
/usr/bin/npx -> /usr/lib/node_modules/npm/bin/npx-cli.js
+ npm@5.7.1
updated 1 package in 11.905s
$ npm -v
5.6.0
Run Code Online (Sandbox Code Playgroud)

Dru*_*ruv 15

使用hash -r使庆典再次清除它的缓存,并期待在路径最新的NPM路径。


xpt*_*xpt 8

你的输出是什么which npm,我敢打赌不是/usr/bin/npm

更新

所以您在/usr/local/bin/npm,但npm您刚刚更新的在/usr/bin/npm。请参阅该行/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js以获取提示。

删除安装,/usr/local/bin/npm您就可以了。

如果您不知道该怎么做,只需做

sudo rm /usr/local/bin/npm

  • 然后,您将有多个节点或npm安装,其中至少有一个是非标准安装。考虑删除它们并以标准方式安装节点 (2认同)

eyn*_*eyn 8

我注意到在安装更新后,我重新登录到 shell 也看到了更新的 npm 版本。不知道为什么有些人不必这样做,但就我而言,这就是我必须做的。