使用sudo进行npm安装时权限问题
# 0.前言
这个报错是使用 npm
执行全局 modules
安装时发生的,
> sudo npm install -g vsce
# 依旧提示
WARN install EACCES: permission denied, access '/Users/.../.npm'
1
2
3
2
3
查看 npm
环境:
> node -v
v14.17.6
> npm -v
6.14.15
1
2
3
4
2
3
4
# 1.错误原因
在npm v6
版本中,npm
对用户的权限有如下说明:
如果 npm
是由 root privileges
触发的(即,在mac
中使用了sudo
),则 npm
会默认以 nobody
的身份开启。如果需要仍需要使用root
权限,则在script
脚本中添加 unsafe-perm
的flag
。
官网对此的原文:
# User
If npm was invoked with root privileges, then it will change the uid to the user account or uid specified by the
user
config, which defaults tonobody
. Set theunsafe-perm
flag to run scripts with root privileges.
# 2. 解决
升级
npm
的版本,在v7
版本和v8
版本中使用sudo
将默认使用root
权限。在命令行中,添加
flag
字段,即sudo npm install -g vesc --unsafe-perm
1
# 参考
编辑 (opens new window)
上次更新: 2022/04/06, 15:04:00