Flutter项目中flutter_paystack与egrocer的intl版本冲突解决方法
解决flutter_paystack与intl版本冲突的问题
你的项目依赖intl: ^0.18.0,但通过Git引入的flutter_paystack指定了intl: ^0.17.0,导致pub无法解析兼容版本,出现依赖冲突。以下是几种可行的修复方案:
方案1:强制统一intl版本(最快捷)
在你的pubspec.yaml末尾添加dependency_overrides配置,强制所有依赖使用项目的intl版本:
dependency_overrides: intl: ^0.18.0
添加后执行flutter pub get,pub会忽略flutter_paystack的版本限制,直接采用^0.18.0。
注意:小版本升级(0.17→0.18)通常兼容性问题极少,但若出现运行时错误,再考虑其他方案。
方案2:修改flutter_paystack依赖后本地引用
如果担心强制覆盖有潜在问题,可以手动修改flutter_paystack的依赖:
- 克隆指定仓库到本地并切换到目标commit:
git clone https://github.com/definitelyme/flutter_paystack.git cd flutter_paystack git checkout a4a33c3dd0a12f46d655a2e63d11e9f20ba82d01
- 打开仓库内的
pubspec.yaml,将intl: ^0.17.0改为intl: ^0.18.0(或更宽松的范围如>=0.17.0 <0.19.0) - 修改项目的
pubspec.yaml,将flutter_paystack的依赖指向本地路径:
flutter_paystack: path: ../flutter_paystack # 路径根据本地仓库实际位置调整
- 执行
flutter pub get完成依赖安装。
方案3:寻找已兼容intl ^0.18.0的分支/版本
检查你使用的flutter_paystack仓库是否有更新的分支,或者其他fork版本已经升级了intl依赖。如果存在,直接切换到对应分支或commit即可。
内容的提问来源于stack exchange,提问作者aliana
相关产品推荐
相关产品推荐

