sudo npm install 时,报错 permission denied 的解决方案
发布于 作者:苏南大叔 来源:程序如此灵动~![](/usr/themes/panda/assets/img/icon/ok.png)
mac
环境下,在使用npm install
的时候,经常会碰到一个非常匪夷所思的错误,那就是:即使使用了sudo
,也可能会报权限错误permission denied
。这个异常神奇的错误,应该怎么解决呢?请查看本文的内容。
本文测试环境:mac@10.14.1
、npm@5.6.0
、node@8.11.3
。
报错信息
执行的npm
命令类似如下,重点是命令中的sudo
字样。
sudo npm install
报错信息如下:
Error: EACCES: permission denied, mkdir '/Users/sunan/Downloads/my-project/node_modules/electron/electron-tmp-download-87079-1543315579368'
npm WARN my-project@0.0.1 No repository field.
npm WARN my-project@0.0.1 No license field.
解决方案一(推荐)--unsafe-perm
解决方案其实也比较简单,就是在npm install
的时候,同时使用sudo
和--unsafe-perm
。
组合命令如下:
sudo npm install --unsafe-perm
这样的命令组合下,就可以避免sudo npm install
时的permission denied
问题。
解决方案二
sudo chmod -R 777 .
如果您实在不习惯--unsafe-perm
参数的话,也可以把当前项目目录设置为权限777
,然后再重新执行npm i
。也许就可以解决问题了。
sudo npm i
解决方案三
一般来说,苏南大叔使用--unsafe-perm
就能解决问题,但是,网上流传着另外一个参数:--allow-root
。所以,大家如果高兴,就试试这个第三个解决方案吧。
sudo npm install --unsafe-perm --allow-root
总结
npm
问题,请点击下面的链接。苏南大叔倾力推荐:
![](/usr/themes/panda/assets/img/icon/end.gif)
![](/usr/themes/panda/assets/img/icon/ok.png)
![](/usr/themes/panda/assets/img/icon/stop.png)