You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React 19环境下npm ERESOLVE依赖冲突无强制参数解决方案

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

问题详情

执行以下npm安装命令时遭遇ERESOLVE依赖解析错误,无法完成依赖树构建:

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

错误核心原因:当前项目依赖react@19.0.0,但安装命令中指定的@testing-library/react@^13.0.0会被解析到v13.4.0,该版本的peer依赖明确要求react@^18.0.0,两者版本不兼容。

完整错误日志:

npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: shopping-cart@0.1.0
npm error Found: react@19.0.0
npm error node_modules/react
npm error   react@"^19.0.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peer react@"^18.0.0" from @testing-library/react@13.4.0
npm error node_modules/@testing-library/react
npm error   @testing-library/react@"^13.0.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error C:\Users\Krishna\AppData\Local\npm-cache\_logs\2024-12-06T06_18_52_109Z-eresolve-report.txt
npm error A complete log of this run can be found in: C:\Users\Krishna\AppData\Local\npm-cache\_logs\2024-12-06T06_18_52_109Z-debug-0.log
npm error C:\Users\Krishna\AppData\Local\npm-cache\_logs\2024-12-06T06_18_52_109Z-eresolve-report.txt
npm error A complete log of this run can be found in: C:\Users\Krishna\AppData\Local\npm-cache\_logs\2024-12-06T06_18_52_109Z-debug-0.log

无需--force或--legacy-peer-deps的解决方案

1. 升级测试库到兼容React 19的版本

@testing-library/react的v14及以上版本已支持React 19,同时需要同步升级@testing-library/user-event到匹配版本:

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

安装后建议运行测试用例,确认所有功能正常。

2. 降级React到18.x稳定版

如果暂时不需要React 19的新特性,可将项目的React版本降级到18.x:

  • 修改package.json中的react和react-dom版本为^18.2.0
  • 执行npm install更新核心依赖
  • 重新运行最初的测试库安装命令即可

3. 使用npm overrides强制适配(临时过渡方案)

通过package.json的overrides字段,强制让@testing-library/react接受React 19作为peer依赖:
在package.json中添加如下配置:

"overrides": {
  "@testing-library/react": {
    "react": "^19.0.0"
  }
}

添加后执行最初的安装命令即可完成安装,但需注意:此方案可能存在潜在兼容问题,务必运行所有测试用例验证稳定性。

内容的提问来源于stack exchange,提问作者krishna kumar baditya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 19:27:42