当我尝试安装某些内容(Gulp,Sass,WebPack等)时,全球 sudo npm install packagename -g
我总是会遇到这些错误:
node-pre-gyp警告命中错误eacces:许可拒绝,mkdir'/usr/local/lib/lib/node_modules/webpack/node_modules/fsevents/lib'
GYP警告Eacces用户" root"没有权限访问dev dir&quot&quot&quot&quy gyp/11.11.11.11.quot;
gyp err!堆栈错误:EACCES:拒绝,mkdir'/usr/local/lib/node_modules/webpack/node_modules/fsevents/.node-gy-node-gyp'
和更多类似的错误。
我尝试使用磁盘维修修复磁盘权限。我已经完全卸载并重新安装了节点。我在堆栈溢出上尝试了其他答案,例如:
sudo chown -R $(whoami) ~/.npm
和
sudo chown -R $(whoami) /usr/local/lib/node_modules
这没有帮助。
如何修复权限,以便可以再次安装全局NPM软件包?
我正在运行带有节点11.11.0
我也有点努力,最终发现您需要将全局包装安装位置设置为您拥有的文件夹。
npm config set prefix '~/.npm-global'
然后导出路径
export PATH=~/.npm-global/bin:$PATH
所有这些信息都可以在NPM文档网站上找到
https://docs.npmjs.com/resolving-acces-permissions-ermissions-errors-when-installing-packages-globally
我了解到的一项经验法则是永远不要将npm install
与sudo一起使用!这创建了用root
作为所有者而不是所有者创建的项目。