前言:最近更新angular的脚手架的版本,直接安装新版本然后失败;之后我先全局卸载了angular,然后再安装,结果还是失败,报了如下错误:
如何解决
方法1、命令行清除卸载残留
全局卸载@angular/cli后,执行以下命令,来清除卸载残留和缓存:
// 1.验证缓存数据的有效性和完整性,清理垃圾数据。
npm cache verify
// 2.删除缓存目录下的所有数据。(在npm5的版本之后,需要加上--force来保证缓存数据的有效性和完整性。
npm cache clean
// 3.强制清理
npm cache clean --force
这时候再进行安装,应该会成功。
npm install -g @angular/cli
如果不成功的话,方法2基本上会解决所有此类问题
方法2、手动删除文件夹
我们看一下报错路径,然后进到这个路径下:
我们发现,虽然全局卸载了,但是这个@angular文件夹仍然存在,文件夹并没有被移除,而我们没有对@angular文件夹下的write权限,这时候,我们选择删除C:\Users\Administrator\AppData\Roaming\npm\node_modules目录下的@angular文件夹,然后再进行安装:
npm install -g @angular/cli
然后安装成功,angular脚手架也更新到了最新版。
方法3、使用淘宝镜像cnpm来进行安装
这里我没搞清楚具体为啥使用cnpm就有write权限了,但是亲自测了一下,的确是可用的:
cnpm install -g @angular/cli
关于如何安装淘宝镜像,网上已有大量的教程,也可直接参考我的另一篇博客:如何安装淘宝镜像cnpm:此处连接后面补充(后续会写一篇教程)
列举网上其他错误方法
1、完全删除C:\Users\Administrator\AppData\Roaming\npm目录下的node_module文件夹,然后重新install,
原因:
像我这种平时用npm安装全局依赖比较多的,node_module文件夹下会有大量的全局安装,删除后,我所有的全局环境将不能使用,都要再重新安装一遍,如下图,这是我的全局依赖:
我们尽量只删除出问题的地方,而不是笼统的一味删除
2、sudo管理员权限
不是说这种方式错误,因为我没有在linux系统上试过,这种方式不适用windows系统,而在windows下用管理员方式运行命令窗口,仍然解决不了权限问题,所以我并不认为这种方式能解决所有的问题
希望能够解决大家工作和学习中的一些疑问,避免不必要的时间浪费,有不严谨的地方,也请大家批评指正,共同进步!
转载请注明出处,谢谢!
交流方式:QQ1670765991