如何解决npm install -g create-react-app的errno -13权限错误?
全局安装create-react-app遭遇EACCES权限错误的解决求助
我尝试用以下命令全局安装create-react-app:
npm install -g create-react-app
但出现了如下权限错误:
npm ERR! code EACCES npm ERR! syscall rename npm ERR! path /usr/local/lib/node_modules/create-react-app npm ERR! dest /usr/local/lib/node_modules/.create-react-app-DgI96EzL npm ERR! errno -13 npm ERR! Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/create-react-app' -> '/usr/local/lib/node_modules/.create-react-app-DgI96EzL' npm ERR! [Error: EACCES: permission denied, rename '/usr/local/lib/node_modules/create-react-app' -> '/usr/local/lib/node_modules/.create-react-app-DgI96EzL'] { npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'rename', npm ERR! path: '/usr/local/lib/node_modules/create-react-app', npm ERR! dest: '/usr/local/lib/node_modules/.create-react-app-DgI96EzL' npm ERR! } npm ERR! The operation was rejected by your operating system. npm ERR! It is likely you do not have the permissions to access this file as the current user
我已经尝试过以下方法但均无效:
- 使用sudo执行安装:
sudo npm install -g create-react-app - 修改npm目录所有权
- 修改npm prefix实现无root权限安装包
请问如何修复该权限错误并成功全局安装create-react-app?
解决方案
1. 清理残留文件与缓存
错误提示中的路径存在残留文件,先彻底删除:
sudo rm -rf /usr/local/lib/node_modules/create-react-app
同时清理npm缓存:
npm cache clean --force
2. 优先使用npx替代全局安装(官方推荐)
目前官方已不推荐全局安装create-react-app,直接用npx创建项目即可绕过权限问题:
npx create-react-app my-app
如果一定要全局安装,执行完第一步清理后,重新用sudo安装最新版本:
sudo npm install -g create-react-app@latest
3. 重新配置npm全局目录到用户权限区
将npm全局包目录切换到当前用户拥有的文件夹:
mkdir -p ~/.npm-global npm config set prefix '~/.npm-global'
将新目录添加到环境变量(以bash为例,zsh则编辑~/.zshrc):
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc source ~/.bashrc
之后直接执行安装命令即可:
npm install -g create-react-app
4. 修复node_modules目录权限
如果上述方法无效,检查并修复全局node_modules目录的所有权:
sudo chown -R $USER:$GROUP /usr/local/lib/node_modules
修复后再尝试安装。
内容的提问来源于stack exchange,提问作者user23302998
相关产品推荐
相关产品推荐

