我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

React官方脚手架create-react-app,已经很久都没有更新了,推荐使用vite代替。但是,苏南大叔还是一直都没有更换最新的vite。但是,最近create-react-app它不能用了!!!这可是个大事!

苏南大叔:create-react-app初始化项目失败,提示react19版本冲突 - create-react-app项目失败
create-react-app初始化项目失败,提示react19版本冲突(图5-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。本文测试环境:nodejs@20.18.0create-react-app@5.0.1react@19.0.0。用了这么多年的create-react-app,终于版本冲突了!

创建新项目

本地的create-react-app是最新的5.0.1

create-react-app --version
create-react-app test

苏南大叔:create-react-app初始化项目失败,提示react19版本冲突 - 已经是最新的create-ract-app
create-react-app初始化项目失败,提示react19版本冲突(图5-2)

错误提示

原以为一路顺风的安装过程,出现了大大的错误提示:

Installing template dependencies using npm...
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: test@0.1.0
npm ERR! Found: react@19.0.0
npm ERR! node_modules/react
npm ERR!   react@"^19.0.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^18.0.0" from @testing-library/react@13.4.0
npm ERR! node_modules/@testing-library/react
npm ERR!   @testing-library/react@"^13.0.0" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

`npm install --no-audit --save @testing-library/jest-dom@^5.14.1 @testing-library/react@^13.0.0 @testing-library/user-event@^13.2.1 web-vitals@^2.1.0` failed

苏南大叔:create-react-app初始化项目失败,提示react19版本冲突 - 错误修复方案
create-react-app初始化项目失败,提示react19版本冲突(图5-3)

错误分析

由于create-react-app已经是最新版,所以这里没有任何办法。看最后的错误提示,安装失败的是:testing-library的三个模块、以及web-vitals这个测试模块。

@testing-library/jest-dom@^5.14.1 
@testing-library/react@^13.0.0
@testing-library/user-event@^13.2.1 
web-vitals@^2.1.0

所以,结论是:没有任何影响。因为本来安装完毕,也是要删除掉这些功能模块的。参考:

清理代码

删除文件:

  • src/App.test.js
  • src/reportWebVitals.js
  • src/setupTests.js

苏南大叔:create-react-app初始化项目失败,提示react19版本冲突 - 删除代码
create-react-app初始化项目失败,提示react19版本冲突(图5-4)

清理src/index.js代码,删除如下字样:

import reportWebVitals from './reportWebVitals';
reportWebVitals();

执行下面的命令,启动项目成功。

npm start

苏南大叔:create-react-app初始化项目失败,提示react19版本冲突 - 运行成功
create-react-app初始化项目失败,提示react19版本冲突(图5-5)

结论

所以,结论就是问题出自cra-template上面,带了几个没有及时更新的第三方库。而这些第三方库,恰好没有啥用途。另外的结论就是:这个官方推荐的脚手架,create-react-app是不是考虑使用vite替代了呢?

更多react相关文章,请参考苏南大叔的经验列表:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   react