个人笔记,如有描述不当,欢迎留言指出~
说一下我的开发环境:
- 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 都报错了。
百度了半天也没找到类似的错误,最后没办法,只好使出那一招了,大科学上网术!(翻墙谷歌)
很快就找到类似的错误了,给我激动的哇 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 命令,欧了!
我是真滴佩服想出这个办法的仁兄,高,太高了