我试图在Ubuntu 14.04机器上设置Node.js和NPM但是遇到了一些麻烦.在我第一次尝试时,我在尝试安装软件包时遇到了EACCES错误(有时甚至使用sudo),所以我完全卸载了node和npm.现在我想弄清楚如何安装它们的方式不需要我运行所有sudo,也不会给我EACCES错误.
我宁愿不使用NVM,除此之外,我刚刚发现了一堆零散的部分答案,其中一些相互矛盾,或者只是使用稍微不同的语法.
解决方法
抛出EACCES的问题通常是两个文件夹上的权限问题:
您的〜/ .npm目录可能存在权限问题.
‘〜/ .npm’目录的完整路径是’/Users/YOUR_USERNAME/.npm’;它存储各种npm功能.在基于unix的系统上访问主目录的最简单方法(我也相信Linux也是)键入’cd’.
您的/usr/local / lib / node_modules上也可能存在权限问题.
这是npm尝试存储全局安装的模块的地方.它是’node_modules’文件夹的系统级版本,您可以在基本上使用依赖项制作和安装的任何node.js项目中找到它.
我实际上制作了一个可以在mac上解决这个问题的节点包,虽然我不确定Linux(因为“.npm”和“node_modules”的路径在linux上可能不同),你可以试一试吗?它基本上重申了您作为这些目录的所有者.
这是github页面:
https://github.com/yvanscher/fixmynode(只是快速说明这个包可能已经过时了,因为osenv依赖项存在一个奇怪的构建问题)
如果您重新安装节点,您可以尝试使用这些命令自行更改权限(这应该适用于Linux):
sudo chown -R $(whoami)〜/ .npm
sudo chown -R $(whoami)/usr/local / lib / node_modules
注意:我不是100%确定路径’/usr/local / lib / node_modules’和’〜/ .npm’对于基于Linux的Node / npm安装是正确的.你能发布终端收到的完整错误信息吗?