作者:NarratorWang | 来源:互联网 | 2023-05-26 05:49
我试图在Ubuntu 14.04机器上设置Node.js和NPM但是遇到了一些麻烦.在我第一次尝试时,我EACCES
在尝试安装软件包时遇到错误(有时甚至是sudo
),所以我完全卸载了node和npm.现在我想弄清楚如何安装它们的方式不需要我运行一切sudo
,也不会给我EACCES
错误.
我宁愿不使用NVM,除此之外,我刚刚发现了一堆零散的部分答案,其中一些相互矛盾,或者只是使用略有不同的语法.
我真的很感激这方面的一些帮助.我刚刚从Windows切换到Linux,我正在尝试设置,以便我可以重新开始工作.
1> yvanscher..:
抛出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%确定基于Linux的Node/npm安装路径'/ usr/local/lib/node_modules'和'〜/ .npm'是正确的.你能发布终端收到的完整错误信息吗?
谢谢,我最终必须在`/ usr/local/lib/node_modules`,`〜/ .npm`和`/ usr/lib/node_modules`上运行`chown`.我仍然必须使用`sudo`进行任何全局操作,这很好,但除此之外,一切似乎都在顺利进行.