You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Node.js 22.12.0下使用create-react-app创建React项目遇依赖冲突

解决React 19与@testing-library/react peer依赖冲突问题

问题核心

当前create-react-app默认安装react@19.0.0,但模板配套的@testing-library/react@13.4.0仅支持react@^18.0.0,npm依赖树解析时触发ERESOLVE错误。

可行解决方案

方案1:降级React到18.x版本

直接指定React 18版本创建项目,从根源避开版本不兼容:

# TypeScript项目
npx create-react-app react-project --template cra-template-typescript@5.0.0 --legacy-peer-deps
# JavaScript项目
npx create-react-app react-project --template cra-template@1.2.0 --legacy-peer-deps

创建完成后,package.json中的react/react-dom会锁定在18.x版本,与@testing-library/react@13.4.0的peer依赖要求匹配。

方案2:升级测试库到兼容React 19的版本

项目创建失败后,手动初始化并安装兼容依赖:

  1. 创建并进入项目目录:
mkdir react-project && cd react-project
  1. 初始化package.json:
npm init -y
  1. 安装React 19及适配的测试库版本(@testing-library/react@15+已支持React 19):
npm install react@19 react-dom@19
npm install --save-dev @testing-library/react@latest @testing-library/jest-dom@latest @testing-library/user-event@latest
  1. 手动复制create-react-app模板的基础文件(如public/index.html、src/App.js等)完成项目初始化。

方案3:强制跳过依赖检查(临时应急用)

如果仅需快速创建测试项目,可使用--force参数强制安装:

npx create-react-app react-project --force

⚠️ 注意:该方式可能引发运行时未知问题,仅适合临时场景,生产环境禁用。


内容的提问来源于stack exchange,提问作者JRock

火山引擎 最新活动