是什么原因导致错误: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 OS中安装angular cli不需要什么,只需使用sudo npm install -g @angular/cli,你的终端会提示密码,输入你的密码,然后继续安装cli。这对我很管用。

其他回答

看来你遇到许可问题了。如果您正在安装npm-packages,那么在尝试全局安装包时可能会得到EACCES错误。这意味着你没有权限写入npm用来存储全局包和命令的目录。

尝试执行命令:sudo chmod u+x -R 775 ~/。npm和sudo chown $USER -R ~/。或者你可以用sudo运行任何NPM命令,这应该能解决你的问题。

如果你在本地安装npm-package,那么你应该在你的本地项目目录下,可以尝试运行sudo npm install <pkg-name>命令来安装所需的包。使用sudo的目的是改变你的所有者权限,这样你就可以授权你的当前用户运行NPM命令。

我建议你去https://docs.npmjs.com/getting-started/fixing-npm-permissions看看

Brew卸载节点

Brew安装节点

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

希望这能帮助到

类似于POsha的答案,但这是我在ubuntu 19上工作的方法

sudo npm i -g ngrok --unsafe-perm=true --allow-root

从这个链接

https://github.com/inconshreveable/ngrok/issues/429

这是由于npm无法在本地运行时访问全局node_modules目录造成的

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

e.g.

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

修复了问题,现在您可以再次运行您运行的命令。

经过长期的研究,我明白了在mac OS中安装angular cli不需要什么,只需使用sudo npm install -g @angular/cli,你的终端会提示密码,输入你的密码,然后继续安装cli。这对我很管用。