提问者:小点点

安装全局npm软件包时拒绝访问权限


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

node-pre-gyp WARN 命中错误 EACCES: permission denied, mkdir '/usr/local/lib/node_modules/webpack/node_modules/fsevents/lib'

gyp WARN EACCES用户" root "无权访问dev目录"/Users/erik/。节点-gyp/11.11.0 "

吉普呃!堆栈错误:EACCES:权限被拒绝,mkdir '/usr/local/lib/node _ modules/web pack/node _ modules/f events/。'节点-gyp '

还有很多类似的错误。

我已经尝试用磁盘修复来修复磁盘权限。我已经完全卸载并重新安装了节点。我试过其他关于堆栈溢出的回答,比如:

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

然后呢?

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

但这并没有帮助。

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

我正在运行节点11.11.0的OS X莫哈韦


共2个答案

匿名用户

我对此也做了一些努力,最终发现您需要将全局包的安装位置设置到您有权限的文件夹中。

< code>npm配置集前缀“~/”。然后导出路径< br> export PATH=~/。npm-global/bin:$PATH

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

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

匿名用户

我学到的一条经验法则是,千万不要在sudo中使用npm安装!这将创建以root作为所有者而不是以您作为所有者的项目。