我有一个需要全局安装的nodejs 包。这个失败的方式让我相信 Ubuntu 软件包中可能存在配置问题
npm
。每次我设置 Ubuntu 14.04 机器时都会发生这种情况。
sudo apt-get install npm
npm install -g lineman
npm -g
命令将抛出一些命名本地 lib 和 bin 目录的访问错误。与某些全局安装不同,它不是欺骗并在 sudo 下运行第二个命令的选项。所以,我发现唯一有效的修复方法是这样的:
sudo chgrp -R $(whoami) /usr/local/bin /usr/local/lib
sudo chmod -R g+rwx /usr/local/bin /usr/local/lib
这个修复对我来说很好,我是唯一的用户。但这真的是最好的方法吗?我不想为可能在不起作用或造成麻烦的环境中使用它的其他人记录我的修复。
另外,我应该向为 Ubuntu 打包
npm
的人提交错误报告吗?
使用 sudo 是不安全的,并且完全不推荐选择来修复此类错误。
正如 Jay Jodiwal 在评论中所说,修复此错误的唯一正确方法是使用有关如何在不使用 sudo 的情况下运行 npm 的官方文档。
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally