使用create-react-app创建React应用时反复报错如何解决
报错核心原因
触发create-react-app创建失败的高频原因有这几个:
- 本地全局安装的
create-react-app版本严重过时,和当前运行的Node.js、npm版本存在兼容冲突 - npm本地缓存文件损坏,拉取依赖时出现文件校验不通过、解压失败的问题
- 网络访问异常,默认npm官方源在国内访问延迟高、连接超时,导致依赖包下载中断
- Node.js版本不符合要求:版本低于16、或者使用17/21等非LTS版本时,旧版脚手架会触发OpenSSL兼容报错
修复方案
按以下顺序操作即可解决:
- 第一步:彻底卸载全局安装的旧版create-react-app,避免旧版本逻辑干扰安装流程
# 使用npm的用户执行 npm uninstall -g create-react-app # 使用yarn的用户执行 yarn global remove create-react-app
- 第二步:强制清理npm本地缓存,排除损坏缓存的影响
npm cache clean --force
- 第三步:国内用户先切换npm源到国内镜像,解决依赖下载超时的问题
npm config set registry https://registry.npmmirror.com
- 第四步:直接通过npx调用最新版脚手架创建项目,不要提前全局安装create-react-app,将命令里的
my-app替换为你自己的项目名称即可
npx create-react-app@latest my-app
如果你使用的是Node 17及以上版本,执行上述命令仍报OpenSSL相关错误,可以先临时配置环境变量再执行创建命令:
Windows系统执行:set NODE_OPTIONS=--openssl-legacy-provider
Mac/Linux系统执行:export NODE_OPTIONS=--openssl-legacy-provider
长期使用的话更建议将Node.js切换到18.x或20.x的LTS长期支持版本,和React生态的兼容性最好。
- 如果上述操作完成后仍报错,执行
node -v检查本地Node版本,确认版本不低于16,尽量避开奇数版本号的非LTS发行版即可。
内容的提问来源于stack exchange,提问作者GEORGE ANKU-MENSAH
相关产品推荐
相关产品推荐

