Ubuntu - nodejs - npm install -g > 错误:EACCES:权限被拒绝,mkdir

20

在 Digital-Ocean Droplet Ubuntu (14.04) 服务器上安装 NodeJS npm 包出了问题。

 npm install -g PACKAGE-NAME

我甚至尝试使用sudo,但仍然出现同样的错误。

错误信息:

Error: EACCES: permission denied, mkdir '.....etc' 
3个回答

60

希望这能帮助到有需要的人,我花了一些时间才找到安装的方法。

 sudo npm install -g PACKAGE-NAME --unsafe-perm=true --allow-root

标志的作用:

unsafe-perm - https://docs.npmjs.com/misc/config#unsafe-perm

默认设置:如果以root身份运行,则为false;否则为true 类型:布尔值 将其设置为true可在运行软件包脚本时抑制UID / GID切换。如果显式设置为false,则以非root用户安装将失败。

allow-root - https://bower.io/docs/api/#allow-root

--allow-root 允许以root身份运行命令。Bower是用户命令,没有必要使用超级用户权限执行它。但是,如果仍想使用sudo运行命令,请使用--allow-root选项。


1
这个命令在Mac上也可以正常工作(与Linux相似)。 - Sudir Krishnaa RS
@SudirKrishnaaRS 是的,NPM也适用于Mac系统。 - K-G

4

对我而言,我不想为所有用户安装npm。因此我没有使用sudo npm ...。相反,我授予了目录所需的权限,这样它就能正常工作。

sudo chmod -R ugo+rw ./node_modules/

-1

你需要为Ubuntu中的文件夹/目录提供权限才能运行该命令。

更改文件夹/目录权限:

sudo chmod -R a+rwx ./node_modules/

然后再次尝试安装该软件包。

npm install PACKAGE-NAME


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接