安装全局 npm 包时 EACESS 权限被拒绝

Kok*_*oko 2 permissions terminal node.js npm

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

node-pre-gyp 警告命中错误 EACCES:权限被拒绝,mkdir '/usr/local/lib/node_modules/webpack/node_modules/fsevents/lib'

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

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

还有很多类似的错误。

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

sudo chown -R $(whoami) ~/.npm
Run Code Online (Sandbox Code Playgroud)

sudo chown -R $(whoami) /usr/local/lib/node_modules
Run Code Online (Sandbox Code Playgroud)

但这并没有帮助。

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

我正在运行 OS X Mojave 和 Node 11.11.0

LeR*_*Roi 7

我也遇到了一些困难,最终发现您需要将全局包安装位置设置为您有权访问的文件夹。

npm config set prefix '~/.npm-global'
然后导出路径
export PATH=~/.npm-global/bin:$PATH

所有这些信息都可以在 npm 文档站点上找到

https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally