创建React应用时npm audit环节自动终止,多种解决方案无效求助
解决create-react-app卡在npm audit环节自动终止的问题
我之前也碰到过一模一样的情况,尤其是用旧版本react-scripts的时候,npm audit的自动修复环节经常会因为依赖冲突或者网络问题无声终止。结合你已经尝试过的方法,给你几个更针对性的解决方案:
1. 创建项目时直接跳过npm audit检查
create-react-app默认会在依赖安装完成后执行npm audit,我们可以通过参数或环境变量跳过这一步:
- 方法一:使用
--skip-audit参数(新版本create-react-app支持):npx create-react-app client --skip-audit - 方法二:临时关闭npm的audit配置:
npm_config_audit=false npx create-react-app client - 方法三:先跳过自动npm安装,之后手动安装依赖:
npx create-react-app client --skip-npm cd client npm install --no-audit
2. 强制使用最新版create-react-app
你提到重新安装过create-react-app,但npx有时候会缓存旧版本的包,得彻底清理后再用最新版:
npm uninstall -g create-react-app npx clear-npx-cache npx create-react-app client
新版本的create-react-app优化了依赖安装流程,基本能避免audit卡住的问题。
3. 手动搭建React项目(绕开create-react-app的自动流程)
如果上面的方法都不行,那就手动初始化项目:
- 创建并进入项目目录:
mkdir client && cd client - 初始化npm项目:
npm init -y - 安装核心依赖(跳过audit):
npm install react react-dom react-scripts cra-template --no-audit - 在
package.json里添加scripts:"scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" } - 补充基础项目文件:从其他正常创建的React项目里复制
public和src目录过来,或者手动创建这两个目录的基础文件就行。
4. 切换npm源优化网络环境
国内访问npm官方源经常不稳定,导致audit过程超时终止,切换到国内镜像源能解决这个问题:
npm config set registry https://registry.npmmirror.com
之后再尝试创建项目,速度和稳定性都会提升很多。
另外从你的命令行输出看,你安装的是react-scripts@3.4.1,这个版本确实比较老旧了,升级到最新版本能解决很多已知的依赖问题。
内容的提问来源于stack exchange,提问作者Vivek Kumar




