NPM Mac OS错误:EACCES:权限被拒绝,访问'/ usr / local / lib / node_modules'

时间:2020-05-06 21:31:40

标签: javascript node.js npm gatsby

我正在尝试全局安装gatsby-cli:

npm install -g gatsby-cli

我一直遇到访问错误,不确定如何解决。

enter image description here

3 个答案:

答案 0 :(得分:4)

添加sudo是不正确的方法,因为当npm在sudo下运行时,它将创建的文件将具有root所有权。您当前的非Su用户无法访问/只读。

推荐的方法是重新安装节点和npm,也许在您安装节点时将其安装为sudo。或更改NPM的全局文件夹。

您可以详细了解here

另一种方法是回收node_modules文件夹。只需将其粘贴到终端下面的行中即可。

sudo chown -R $(whoami) /usr/local/lib/node_modules

警告:请使用精确的路径/usr/local/lib/node_modules。不要使用/usr/local/lib/之类的东西。

答案 1 :(得分:2)

如果您不是计算机的管理员,则需要使用sudo安装全局软件包。

sudo npm install -g gatsby-cli

答案 2 :(得分:0)

更改您的文件权限.. 像这样

首先检查谁拥有目录

ls -la /usr/local/lib/node_modules

它拒绝访问,因为 node_module 文件夹归 root 所有

drwxr-xr-x 3 根轮 102 Jun 24 23:24 node_modules

所以这需要通过将 root 更改为您的用户来更改,但首先运行下面的命令来检查您当前的用户如何在 OS X 中通过命令行获取活动用户的名称?

id -un

whoami

然后更改所有者

sudo chown -R [owner]:[owner] /usr/local/lib/node_modules

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

sudo chown -R $USER /usr/local/lib/node_modules