React Native依赖冲突错误

移动开发 2026-07-12

在运行npx react-native doctor时出现以下错误

npm 错误代码ERESOLVE

npm 错误ERESOLVE无法解析

npm 错误

npm 错误 在解析时: undefined@undefined

npm 错误 找到: [email protected]

npm 错误node_modules/react-native

npm 错误 peer react-native@"*" 来自 @react-native-community/[email protected]

npm 错误 node_modules/@react-native-community/cli

npm 错误     @react-native-community/cli@"^7.0.3" 来自 [email protected]

npm 错误 react-native@"0.84.1" 来自根项目

npm 错误

npm 错误 无法解析依赖关系:

npm 错误react-native@"0.84.1" 从根项目

npm 错误

npm 错误 存在冲突的对等依赖: [email protected]

npm 错误node_modules/react

npm 错误 peer react@"^19.2.3" 来自 [email protected]

npm 错误 node_modules/react-native

npm 错误     react-native@"0.84.1" 来自根项目

npm 错误

npm 错误 解决上游依赖冲突,或重试

npm 错误 以 --force或 --legacy-peer-deps运行此命令

npm 错误 以接受一个不正确的(并且可能损坏的)依赖解析。

npm 错误

npm 错误 如需完整报告,请参阅:

npm 错误 /Users/hasmukhshah/.npm/_logs/2026-03-09T06_14_52_928Z-eresolve-report.txt

npm 错误 本次运行的完整日志可以在: /Users/hasmukhshah/.npm/_logs/2026-03-09T06_14_52_928Z-debug-0.log

解决方案

你的 node_modules 已安装了react-native 0.68.2,但你的package.json要求的是0.84.1。这是一个巨大的版本跳跃(0.68大约来自2022年),因此npm无法解析对等依赖,因为node_modules中的所有内容都是基于旧版本构建的。

最简单的修复办法:

rm -rf node_modules package-lock.json
npm install

如果仍然报错,请检查你的 package.json,并确保你的 react 版本与react-native 0.84.1要求的版本相匹配(也就是React 19.x)。你很可能还在使用来自0.68时的React 17或 18。

"dependencies": {
  "react": "^19.2.3",
  "react-native": "0.84.1"
}

另外,如果你从0.68跳到了0.84,那么你跳过了整個新的架构迁移。强烈建议使用 upgrade helper 来查看你需要做的所有改动,因为在这两个版本之间发生了大量变化。仅在package.json里提高版本号并不能解决问题。

顺便说一句,这里不要使用 --force--legacy-peer-deps,那样只会掩盖真正的问题,日后你会遇到奇怪的运行时崩溃。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章