当我尝试使用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莫哈韦
我对此也做了一些努力,最终发现您需要将全局包的安装位置设置到您有权限的文件夹中。
< 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
作为所有者而不是以您作为所有者的项目。