【发布时间】: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选项的附加组件,例如在安装 sqlite3sudo npm install --unsafe-perm -g sqlite3时。然后它起作用了,但我不知道潜在的问题。 -
谢谢!那确实奏效了。仍然不确定为什么在全局安装时会出现这么多错误。
标签: node.js npm terminal permissions