执行yarn install时react-devtools版本异常,溯源4.25.0版本来源
问题说明
我的package.json配置如下:
... "devDependencies": { ... "react-devtools": "^4.14.0", ... }, "resolutions": { "react-devtools-core": "4.14.0" }
执行yarn命令时,出现如下警告:
warning Resolution field "react-devtools-core@4.14.0" is incompatible with requested version "react-devtools-core@4.25.0"
我想知道该警告中4.25.0版本的来源。我已经移除yarn.lock中所有react-devtools-core和react-devtools的引用,删除node_modules后重新执行yarn,问题仍存在。而且应用运行时,React Native Debugger显示“Devtools 4.25.0-....”。我知晓整体问题的解决方法,仅想了解该现象的原因。
原因分析
- 你的项目中某个顶级依赖的子依赖(直接或间接)明确声明了需要
react-devtools-core@4.25.0,yarn在依赖解析过程中检测到这个需求和你通过resolutions强制指定的4.14.0版本冲突,因此抛出警告。 - 虽然你删除了
yarn.lock和node_modules重新安装,但yarn会重新遍历所有依赖的依赖树,只要有一个包在自身的package.json里要求了4.25.0版本,就会触发这个冲突提示。 - React Native Debugger显示的
4.25.0版本,要么是调试工具自身内置的Devtools版本,要么是项目中某个嵌套依赖最终没有被resolutions规则覆盖,仍然安装了4.25.0版本(比如部分依赖的嵌套层级特殊,或者yarn的解析逻辑导致规则未生效)。
内容的提问来源于stack exchange,提问作者paperskyline
相关产品推荐
相关产品推荐

