React v19.0.0创建项目遇依赖冲突报错,求解决方案
React v19.0.0 创建项目时依赖冲突的解决方法
问题原因
你遇到的是peer依赖版本冲突:create-react-app的TypeScript模板默认安装的@testing-library/react@13.x仅声明支持React ^18.0.0,而你提前安装了React 19.0.0,导致npm无法解析依赖树。
解决方法
方法一:使用--legacy-peer-deps跳过peer依赖检查
npm 7+默认严格校验peer依赖,该参数可切换回旧版宽松模式,适合新框架刚发布、生态未完全适配的场景:
- 删除当前目录下的
node_modules、package-lock.json文件 - 重新执行创建命令并添加参数:
npx create-react-app . --template typescript --use-npm --legacy-peer-deps - 创建完成后,手动升级React到19.0.0:
npm install --save-exact react@19.0.0 react-dom@19.0.0 @types/react@19.0.0 @types/react-dom@19.0.0
方法二:升级测试库到兼容React 19的版本
如果@testing-library/react已发布支持React 19的版本(如14.x及以上),可直接升级解决冲突:
- 清理已失败的依赖(删除
node_modules和锁文件),先完成项目创建 - 执行命令升级测试库:
npm install @testing-library/react@latest @testing-library/jest-dom@latest @testing-library/user-event@latest
方法三:先创建React 18项目,再手动升级到19
这是最稳妥的方式,避开创建过程中的依赖冲突:
- 创建标准React 18 TypeScript项目:
npx create-react-app . --template typescript - 安装React 19及对应类型:
npm install --save-exact react@19.0.0 react-dom@19.0.0 @types/react@19.0.0 @types/react-dom@19.0.0 - 若测试库仍报错,按方法二升级测试库版本。
注意事项
- React 19刚发布时,部分生态库(如测试工具、UI组件库)可能未完成适配,
--legacy-peer-deps仅为临时方案,后续建议关注依赖库更新并及时升级。 - 若不需要测试功能,可使用无测试模板创建项目,或创建后手动删除测试相关依赖。
内容的提问来源于stack exchange,提问作者Jason Susanto
相关产品推荐
相关产品推荐

