npm 升级失败解决方案



个人笔记,如有描述不当,欢迎留言指出~

说一下我的开发环境:

  • Windows 10
  • node 8.10.0
  • nvm 1.1.6

npm这个东东其实也不会经常去升级它,但因为要安装angular cli,提示我npm版本低了得升级,这才去升级,哪晓得一个简单npm升级居然就炸了。

error:

1
npm ERR! path C:\Program Files\nodejs\npm.cmd npm ERR! code EEXIST npm ERR! Refusing to delete C:\Program Files\nodejs\npm.cmd: is outside C:\Program Files\nodejs\node_modules\npm and not a link npm ERR! File exists: C:\Program Files\nodejs\npm.cmd npm ERR! Move it away, and try again.

提示我移除C:\Program Files\nodejs\npm.cmd这个文件,可这个文件不是npm的命令文件吗,把这移除了,那我命令行里敲npm xxx什么的不都执行不了吗?算了,先按提示来吗,我移除了npm.cmd,嗯,这下好了,npm -v 都报错了。

百度了半天也没找到类似的错误,最后没办法,只好使出那一招了,大科学上网术!(翻墙谷歌)|100*0

很快就找到类似的错误了,给我激动的哇 issues

至于为啥会报这种错,我琢磨着可能是因为我从npm5.x.x升级到6.x.x,跨了一个大版本的原因吧,后来从npm6.1.0正常升到6.3.0就没报错了

解决方案如下:

  • 首先将你nodejs安装目录下的 node_modules/npm文件夹 复制到任意路径下
  • 再将nodejs安装目录下的npm.bin、npm.cmd删了
  • 最后进入第一步复制的xxx/npm/bin目录下,执行node npm-cli.js i -g npm@latest 命令,欧了!

我是真滴佩服想出这个办法的仁兄,高,太高了

请博主喝咖啡