React Native依赖冲突错误
在运行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,那样只会掩盖真正的问题,日后你会遇到奇怪的运行时崩溃。