使用npm install -g yarn安装Yarn时出现EACCES权限报错怎么解决?
问题原因
报错本质是当前操作系统用户没有/usr/local/lib/node_modules目录的写入权限,属于npm执行全局包安装时的常见权限问题。
解决方案
以下方案按推荐优先级从高到低排序:
方案1:修改npm全局包安装目录(最安全,推荐)
不用修改系统目录权限,也不用每次装全局包加管理员权限,一次配置永久生效:
- 在当前用户家目录下创建专用的npm全局安装目录
mkdir -p ~/.npm-global
- 配置npm使用新的全局目录
npm config set prefix '~/.npm-global'
- 把新目录的可执行文件路径加入系统环境变量:
若使用bash终端,编辑~/.bashrc文件,在末尾添加以下内容;若使用zsh终端,编辑~/.zshrc文件添加:export PATH=~/.npm-global/bin:$PATH - 刷新环境变量使配置生效:
bash终端执行:source ~/.bashrc
zsh终端执行:source ~/.zshrc - 重新执行Yarn安装命令即可成功
npm install -g yarn
方案2:临时使用管理员权限安装(适合临时使用,不推荐)
仅单次生效,后续安装其他全局包仍需要加权限前缀:
- 直接执行带sudo的安装命令,输入当前用户的登录密码确认即可
sudo npm install -g yarn
方案3:修改系统node_modules目录所属用户(不推荐,有系统目录权限风险)
将npm全局模块目录的所属权改为当前用户,之后所有全局安装都不需要额外加权限,但修改系统目录权限可能引发其他权限冲突:
sudo chown -R $USER /usr/local/lib/node_modules
修改完成后再执行npm install -g yarn即可。
验证安装结果
安装完成后执行yarn -v,若正常输出版本号则代表安装成功。
内容的提问来源于stack exchange,提问作者popandopalo
相关产品推荐
相关产品推荐

