npm安装@react-navigation/native报ERESOLVE peer dependency警告解决方法
问题原因
该警告由npm 7及以上版本默认开启的严格对等依赖(peer dependency)校验规则触发:
你项目中依赖的react-native@0.69.0内置了react-shallow-renderer@16.14.1,这个包声明要求的对等依赖react版本范围为^16.0.0 || ^17.0.0,但你项目当前实际安装的react版本不在这个范围内,npm尝试自动调整依赖版本做兼容时就会抛出该提示。
注:这是警告类信息,不会直接阻断安装流程,但版本不匹配可能引发后续运行时的兼容性报错。
解决方法
- 对齐依赖版本(推荐方案)
先执行npm ls react查看当前项目安装的react版本,若版本为18.x,和react-native@0.69.0的适配要求不匹配,直接安装适配的react版本即可:
安装完成后重新执行npm install react@17.0.2npm install @react-navigation/native,警告就会消失。 - 安装时临时跳过对等依赖校验
如果已经确认当前react版本和相关依赖兼容、不会出现运行异常,可以在安装命令后追加--legacy-peer-deps参数,让npm使用6.x及更早版本的宽松依赖校验逻辑,不强制校验对等依赖的版本匹配:npm install @react-navigation/native --legacy-peer-deps - 永久配置跳过对等依赖校验
如果不想每次安装都手动追加参数,可以在项目根目录新建/修改.npmrc文件,添加如下配置:
配置保存后,后续所有npm安装命令都会默认使用宽松校验规则,不会再抛出同类peer依赖冲突警告。legacy-peer-deps=true
内容的提问来源于stack exchange,提问作者latief qohar
相关产品推荐
相关产品推荐

