前言
由于全国疫情原因,需要在家办公,所以用起了家里的win10电脑。但clone下代码库之后,npm怎么都install不成功。经过一番探寻,找到了问题原因并成功运行。
问题
运行npm install
后,报错如下:
乍一看不知所云,仔细研究了一些关键词,比如
unlink, permissions, root
等等,看起来像是权限问题。但是当前用户就是管理员Admin。
那么,可能是npm安装插件是从国外服务器下载,受网络的影响比较大,可能会出现异常,所以我选择安装cnpm(淘宝国内镜像).
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
也报了同样的错误,那么,使用老办法:清理npm缓存:
npm cache clean --force
也没用,我:???
解决
看来问题还在当前的系统环境,想到了环境变量。
- 首先配置npm的全局模块的存放路径、cache的路径
输入如下命令:
npm config set prefix "C:\\Users\\<用户名>\\.nodejs\\node_global"
npm config set cache "C:\\Users\\<用户名>\\.nodejs\\node_cache"
-
完成后可以在文件夹中看到相应名字的文件夹,如下:
-
在系统环境变量添加NODE_PATH
-
然后,cnpm安装成功
-
但是,在项目中使用cnpm并不能找到命令:
-
问题在于,cnpm安装在了全局的node_global中,但项目使用时的执行环境是全局的node_modules:
-
所以,我们要在全局环境变量中将该路径添加到path中:
- 什么?还是不好使?重启一下cmd再试试吧
兜了一圈,可能还是win10下的权限问题。
总结
如果npm install
失败:
- 使用
npm cache clean --force
命令清除缓存再尝试; - 使用cnpm尝试
- 配置环境变量NODE_PATH以及全局PATH