【问题标题】:EACESS permission denied when installing global npm packages安装全局 npm 包时 EACCES 权限被拒绝
【发布时间】:2019-08-05 14:11:27
【问题描述】:

当我尝试使用sudo npm install packagename -g 安装某些东西(gulp、sass、webpack 等)全局时,我总是收到以下错误:

node-pre-gyp WARN Hit error EACCES: permission denied, mkdir '/usr/local/lib/node_modules/webpack/node_modules/fsevents/lib'

gyp WARN EACCES 用户“root”没有访问开发目录“/Users/erik/.node-gyp/11.11.0”的权限

gyp 错误!堆栈错误:EACCES:权限被拒绝,mkdir '/usr/local/lib/node_modules/webpack/node_modules/fsevents/.node-gyp'

还有更多类似的错误。

我已尝试使用磁盘修复修复磁盘权限。我已经完全卸载并重新安装了 Node.js。我已经尝试过堆栈溢出的其他答案,例如:

sudo chown -R $(whoami) ~/.npm

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

但这没有帮助。

如何修复权限以便我可以再次安装全局 npm 包?

我正在使用 Node 11.11.0 运行 OS X Mojave

【问题讨论】:

  • 对我来说,我只是想让它成为 --unsafe-perm 选项的附加组件,例如在安装 sqlite3 sudo npm install --unsafe-perm -g sqlite3 时。然后它起作用了,但我不知道潜在的问题。
  • 谢谢!那确实奏效了。仍然不确定为什么在全局安装时会出现这么多错误。

标签: node.js npm terminal permissions


【解决方案1】:

据我所知,经验法则是永远不要将 npm install 与 sudo 一起使用!这创建了以 root 为所有者而不是您作为所有者的项目。

【讨论】:

  • 那么你如何全局安装呢?
猜你喜欢
  • 1970-01-01
  • 2022-06-23
  • 2020-03-06
  • 1970-01-01
  • 2016-06-27
  • 1970-01-01
  • 2019-10-28
  • 2018-04-04
  • 1970-01-01
相关资源
最近更新 更多