执行pod install时react-native-code-push与react-native-zip-archive的SSZipArchive版本冲突求解
解决SSZipArchive版本冲突的方案
方案1:升级iOS最低部署目标
报错明确提到兼容的SSZipArchive版本需要更高的部署目标,可尝试将项目iOS部署目标提升至iOS 12.0及以上:
- 打开Xcode,选中项目根目录,在「Info」标签下找到「Deployment Target」,将iOS版本调整为12.0或更高
- 终端执行:删除
Podfile.lock文件,再运行pod install --repo-update
方案2:强制指定SSZipArchive统一版本
在Podfile中添加依赖覆盖规则,强制两个三方库使用同一兼容版本的SSZipArchive:
- 在
Podfile末尾添加:pod 'SSZipArchive', '~> 2.5.5' - 终端执行
pod install --repo-update。若CodePush无法兼容2.5.5版本,可尝试指定为~> 2.2.2,同时降级react-native-zip-archive到支持该版本的旧版(比如6.x系列)
方案3:升级react-native-code-push至兼容高版本SSZipArchive的版本
部分新版本的react-native-code-push已更新SSZipArchive依赖范围,可尝试升级:
- 终端执行
npm install react-native-code-push@latest或yarn add react-native-code-push@latest - 重新运行
pod install
方案4:用patch-package修改依赖要求
若上述方案均无效,可通过补丁修改其中一个库的依赖配置:
- 安装patch-package:
npm install patch-package --save-dev - 找到
node_modules/react-native-code-push/CodePush.podspec,将其中的ss_zip_archive_version = '~> 2.2.2'修改为'~> 2.5.5' - 终端执行
npx patch-package react-native-code-push生成补丁 - 重新运行
pod install
注:使用补丁后,后续更新依赖时需重新生成补丁,或把补丁文件提交至代码仓库同步给团队
内容的提问来源于stack exchange,提问作者not_fubar_yet
相关产品推荐
相关产品推荐

