阅读 219

全局安装 npm 包报错没有权限

问题

在全局安装 npm 包的时候,比如 npm i npm-check -g,可能会报错,提示没有权限 

Error: EACCES: permission denied, access '/usr/local/lib/node_modules'复制代码

解决方式

1.查看 node_modules 目录的所有者

ls -la /usr/local/lib/node_modules

---------------------
total 0
drwxr-xr-x   3 root       wheel   96  6 18 12:42 .
drwxrwxr-x   6 anna       admin  192 12 12 15:45 ..
drwxr-xr-x  23 root       wheel  736 12 26  2018 npm复制代码

看到 drwxr-xr-x   3 root       wheel   96  6 18 12:42 .,这一行,发现 node_module 的所有者是 root 下的,于是需要把所有者转到自己下面

2.看看自己是谁

whoami

------------------
anna复制代码

通过 whoami 命令,看到我们现在登陆的用户是 anna,不是 root,于是没有权限也是符合预期的,需要把 node_module 的所有者换成 anna(这里只是一个例子,以自己尝试的名字为准)

3.换下目录所有者(注意换下用户名 anna)

sudo chown -R anna: /usr/local/lib/node_modules

chown 命令是将指定文件的拥有者改为指定的用户或组

参数 -R 处理指定目录以及其子目录下的所有文件

具体可以看下 chown 命令的介绍:www.cnblogs.com/peida/archi…

4.结束

这样 /usr/local/lib/node_modules 目录的所有者就更换完毕了,可以正常在全局安装 npm 包。

参考

这个方法参考了 stackoverflow 上的这个问题,感兴趣的同学可以看看~

stackoverflow.com/questions/4…

以上是本文的全部内容,欢迎点赞和评论~


作者:恒十七
链接:https://juejin.cn/post/7020279830042132487


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐