sudo npm install 时,报错 permission denied 的解决方案
发布于 作者:苏南大叔 来源:程序如此灵动~
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问题,请点击下面的链接。苏南大叔倾力推荐: