React Native项目依赖冲突求助:安装依赖遇ERESOLVE错误
问题根源确认
是的,你遇到的ERESOLVE错误确实由react-native-scalable-image@1.1.0导致。该版本的peer依赖明确要求react@^16.8.3,而你当前项目使用的React 18.2.0超出了这个版本范围。npm在解析依赖树时会校验所有包的peer依赖兼容性,安装react-native-screens时触发了这个冲突检测,从而抛出错误。
解决方法
升级react-native-scalable-image到兼容版本
先查询该包的最新版本:npm show react-native-scalable-image versions如果存在支持React 18的新版本(如2.x及以上),直接升级:
npm install react-native-scalable-image@latest --save升级完成后再执行
npm install --save react-native-screens,新版本通常会更新peer依赖范围,适配更高版本的React。通过package.json强制覆盖peer依赖
若该包无兼容React 18的版本,可在package.json中添加overrides字段,强制让npm使用当前项目的React版本:
在package.json中加入以下配置:"overrides": { "react-native-scalable-image": { "react": "$react" } }执行
npm install后,再安装react-native-screens:npm install --save react-native-screens注意:此方法会跳过peer依赖校验,可能存在潜在兼容性问题,需后续测试图片缩放组件的功能是否正常。
替换为兼容的替代组件
如果上述方案都无法解决,可考虑替换为支持React 18的图片缩放组件,比如react-native-image-zoom-viewer,或者直接利用React Native内置的Image组件结合样式实现缩放逻辑。
内容的提问来源于stack exchange,提问作者kojow7

