执行npm install -g create-react-app报错EACCES权限不足无法安装怎么办?
npm全局安装create-react-app权限报错解决方案
问题原因
报错核心是当前操作系统用户没有/usr/local/lib/node_modules/系统目录的写入权限,属于npm全局包安装的典型权限问题。
解决方案
以下方案按优先度排序:
方案1:修改npm全局包安装路径(最推荐,安全无副作用)
把npm全局包的默认安装位置修改为当前用户目录下的文件夹,不需要修改系统目录权限:
- 第一步:创建用户目录下的全局包存储文件夹
mkdir -p ~/.npm-global
- 第二步:配置npm将该目录设为全局安装前缀
npm config set prefix '~/.npm-global'
- 第三步:将该目录的可执行文件路径加入系统环境变量
如果你使用bash,编辑~/.bashrc文件,在末尾添加一行:
如果你使用zsh,编辑export PATH=~/.npm-global/bin:$PATH~/.zshrc文件添加上述内容即可。 - 第四步:让配置文件生效(对应你使用的shell)
source ~/.bashrc # zsh用户执行 source ~/.zshrc
- 第五步:重新执行安装命令即可成功
npm install -g create-react-app
方案2:临时提升权限安装(应急可用,不推荐长期使用)
直接在安装命令前加sudo临时获取管理员权限安装:
sudo npm install -g create-react-app
执行后输入当前用户的登录密码即可完成安装。
注意:该方案会将包安装到系统目录,后续全局安装其他npm包仍可能需要加sudo,且容易引发后续的文件权限冲突,仅适合临时应急使用。
方案3:修改系统node_modules目录权限(不推荐,有安全风险)
将全局node_modules目录的所有权修改为当前用户,之后所有全局安装都不需要额外权限:
sudo chown -R $USER /usr/local/lib/node_modules/
注意:修改系统目录默认权限会降低系统安全性,若安装的全局包存在恶意代码,可直接修改系统相关文件,非特殊情况不建议使用。
额外提示
目前React官方已经不推荐全局安装create-react-app,你可以直接使用npx绕开全局安装的权限问题,直接执行以下命令即可创建React项目,无需提前安装任何全局包:
npx create-react-app 你的项目名称
内容的提问来源于stack exchange,提问作者Leon Islam
相关产品推荐
相关产品推荐

