You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter执行pub get遇依赖版本冲突求助(intl与month_year_picker)

解决Flutter pub get依赖冲突(intl与month_year_picker版本不兼容)

错误信息

Resolving dependencies...
Because every version of month_year_picker depends on flutter_localizations from sdk which depends on intl 0.18.1, every version of month_year_picker requires intl 0.18.1.
So, because assingment depends on both intl ^0.17.0 and month_year_picker ^0.2.0+3, version solving failed.

Because month_year_picker <0.3.0+1 depends on intl ^0.17.0 and assingment depends on intl ^0.18.1, month_year_picker <0.3.0+1 is forbidden.
So, because assingment depends on month_year_picker ^0.2.0+3, version solving failed.

解决步骤

1. 升级month_year_picker到兼容版本

从错误信息可知,month_year_picker <0.3.0+1依赖intl ^0.17.0,与你当前使用的intl ^0.18.1冲突。修改pubspec.yaml中的依赖,升级到0.3.0+1及以上版本:

month_year_picker: ^0.3.0+1 # 或更高兼容版本

修改后执行flutter pub get,新版本已适配intl 0.18.1,可直接解决冲突。

2. 强制统一intl版本(临时方案)

若升级month_year_picker后仍有问题,或新版本不符合需求,可在pubspec.yaml中添加dependency_overrides强制指定intl版本:

dependency_overrides:
  intl: ^0.18.1

注意:此方法可能导致依赖intl旧版本的包出现潜在问题,仅确认所有依赖包兼容该版本时使用。

3. 排查其他依赖的intl版本需求

运行以下命令查看所有依赖包对intl的版本要求:

flutter pub deps --tree | grep intl

找出是否有其他包也依赖intl特定版本,针对性调整这些包的版本,确保所有依赖的intl版本范围有交集。

4. 清理缓存重试

执行以下命令清理Flutter缓存,避免缓存导致的依赖解析错误:

flutter clean
flutter pub get

5. 降级Flutter SDK(极端情况)

若上述方法均无效,且必须使用旧版本的month_year_picker和intl,可考虑降级Flutter SDK到对应版本(如intl 0.17.0适配的Flutter版本),但此操作会限制SDK新特性,谨慎使用。


内容的提问来源于stack exchange,提问作者Suraj Maurya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:42:45