我正在尝试在Ubuntu 14.04计算机上设置Node.js和NPM但是遇到了一些麻烦。在我第一次尝试时,我在尝试安装软件包时遇到EACCES
错误(有时甚至是sudo
),所以我完全卸载了node和npm。现在,我正在尝试弄清楚如何以不需要我运行所有sudo
的方式安装它们,并且不会给我EACCES
错误。
我宁愿不使用NVM,除此之外,我刚刚发现了一堆零散的部分答案,其中一些相互矛盾,或者只是使用略有不同的语法。
我真的很感激这方面的一些帮助。我刚刚从Windows切换到Linux,我正在尝试设置,以便我可以重新开始工作。
答案 0 :(得分:18)
抛出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&#39 ;可能在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安装是正确的。您可以发布您在终端中收到的完整错误消息吗?