是什么原因导致错误: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
如果你在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
这是它。
更改您的文件权限…像这样
首先检查谁拥有这个目录
ls -la /usr/local/lib/node_modules
它拒绝访问,因为node_module文件夹属于root用户
drwxr-xr-x 3 root wheel 102 Jun 24 23:24 node_modules
所以这需要通过将root改为你的用户来改变,但首先运行下面的命令来检查你的当前用户,我如何通过OS X中的命令行获得活动用户的名称?
id -un或者whoami
然后换主人
sudo chown -R [owner]:[owner] /usr/local/lib/node_modules
OR
sudo chown -R ownerName: /usr/local/lib/node_modules
OR
sudo chown -R $USER /usr/local/lib/node_modules