是什么原因导致错误:EACCES:权限被拒绝,访问'/usr/local/lib/node_modules'?

npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!  { Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/macbookmd101/.npm/_logs/2018-02-21T16_26_08_421Z-debug.log

当前回答

Brew卸载节点

Brew安装节点

Sudo NPM install -g "your_package"——not - safe-perm=true——allow-root

希望这能帮助到

其他回答

Brew卸载节点

Brew安装节点

Sudo NPM install -g "your_package"——not - safe-perm=true——allow-root

希望这能帮助到

我用过sudo,但它没有解决问题, 我已经通过改变node_modules文件夹权限修复了这个问题,

sudo chmod -R 777 node_modules

如果你不为所有用户/组设置权限,你可以用任何其他代码替换777。

如果你在Mac上遇到了这个问题,请遵循以下步骤

首先检查谁是这个文件的所有者使用以下命令

ls -la /usr/local/lib/node_modules

你会在下面找到一些文件其中一个在下面

drwxr-xr-x   3 root    wheel  768 May 29 02:21 node_modules

你有没有注意到上面的文件是由root拥有的,为了在里面做改变,你需要改变所有者的路径。

该命令用于检查谁是当前用户

id -un (in my case user is yamsol)

然后您可以通过调用这个命令来更改(只需将您的用户名替换为ownerName)

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

在我的例子中,你知道用户是“yamsol”,我将以这种方式调用这个命令

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

这是它。

在我的mac上安装Ionic时也出现了类似的问题。

我运行命令 sudo chown -R $USER /usr/local/ path你可以更新为错误给出的路径。

我试图安装react博览会,除了sudo,我必须添加-不安全的烫发

像这样。这解决了我的问题

sudo npm install -g expo-cli --unsafe-perm