npx create-react-app创建项目报EBUSY错误无法正常安装
create-react-app创建项目报EBUSY锁错误解决方案
问题基础信息
- 触发场景:执行
npx create-react-app demo命令创建React项目时抛出错误 - 环境版本:
- Node.js:
LTS v16.15.1 - npm:
8.12.2 - create-react-app:
5.0.1
- Node.js:
- 已尝试无效操作:卸载重装Node.js、重启电脑
- 核心报错片段:
npm ERR! errno EBUSY npm ERR! Invalid response body while trying to fetch https://registry.npmjs.org/pascal-case: EBUSY: resource busy or locked, rename 'C:\Users\**\AppData\Local\npm-cache\_cacache\tmp\de21380f' -> 'C:\Users\**\AppData\Local\npm-cache\_cacache\content-\sha512\a0\2c\5f17ec97eb3d197f0f84184628b14eff7da2b2b78c97b29dcac1690392873c4bb10d6d73f43f3a23e391db90967d0af107c08bd7e85d238c38a0531d132e'
问题原因
这是Windows平台运行npm的典型通病,本质是npm缓存目录下的文件被其他进程占用锁定,导致npm写入缓存时的重命名操作失败,常见诱因:
- npm缓存文件损坏
- 杀毒、系统安全类软件实时扫描下载的依赖文件,临时锁死缓存文件
- 运行命令的终端权限不足,无法正常操作系统盘下的缓存目录
- 之前异常崩溃退出的node、npm进程残留后台,持续占用缓存文件
解决步骤(按顺序操作,每步完成后可尝试执行创建命令验证)
- 清理残留后台进程
打开任务管理器,找到所有node.exe以及和npm相关的进程,全部结束任务,不要留残留后台。 - 彻底清理npm缓存
最直接的方式是打开资源管理器,进入路径C:\Users\你的实际用户名\AppData\Local\npm-cache,删除整个_cacache文件夹;如果不想手动找路径,也可以执行命令强制清理缓存:npm cache clean --force - 调整权限与安全软件设置
- 右键点击你使用的终端(CMD/PowerShell/Windows Terminal均可),选择「以管理员身份运行」后再执行创建命令
- 临时关闭Windows Defender实时保护,以及安装的第三方杀毒、电脑管家类软件,这类软件会在npm下载依赖写入文件时触发扫描,是触发EBUSY错误的最常见原因
- 规避系统盘路径限制
如果上述操作都无效,直接把npm的缓存、全局安装路径修改到非系统盘,避开系统目录的权限和扫描限制。提前在非系统盘创建两个空文件夹(例如D盘下新建npm-cache和npm-global),依次执行以下命令修改配置:
npm config set cache "D:\npm-cache" --global npm config set prefix "D:\npm-global" --global
- 检查工作路径规范
确认执行创建命令的工作目录为纯英文路径,不要包含中文、空格、特殊字符,不要放在“桌面\React练习”这类带中文的路径下,纯英文无空格的路径稳定性最高。
内容的提问来源于stack exchange,提问作者Kuldip Gphil
相关产品推荐
相关产品推荐

