答案 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