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

Flutter升级后如何解决i18n_extension与optimized_cached_image依赖冲突?

解决Flutter依赖冲突:i18n_extension与optimized_cached_image的sprintf版本冲突

执行flutter pub get时出现如下依赖冲突错误:

$ flutter pub get

Resolving dependencies...
Because no versions of i18n_extension match >9.0.2 <10.0.0 and i18n_extension 9.0.2 depends on sprintf ^7.0.0, i18n_extension ^9.0.2 requires sprintf ^7.0.0.
And because optimized_cached_image >=3.0.0 depends on sprintf ^6.0.0, i18n_extension ^9.0.2 is incompatible with optimized_cached_image >=3.0.0.
So, because shokaze depends on both i18n_extension ^9.0.2 and optimized_cached_image ^3.0.0, version solving failed.
exit code 1

当前pubspec.yaml核心依赖配置:

environment:
  sdk: '>=2.18.2 <3.0.0'

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  intl: ^0.18.0 #^0.17.0
  i18n_extension: ^9.0.2 #^5.0.1
  optimized_cached_image: ^3.0.0 #^3.0.1

未显式依赖sprintf,可通过以下方式解决冲突:

解决方案

方案1:升级optimized_cached_image到兼容版本

查看optimized_cached_image版本更新记录,确认是否有新版本已将sprintf依赖升级至^7.0.0。若有,直接修改pubspec.yaml中的版本号,例如:

optimized_cached_image: ^3.2.0 # 替换为实际兼容的最新版本

修改后执行flutter pub get验证。

方案2:降级i18n_extension到依赖sprintf ^6.0.0的版本

若optimized_cached_image暂无兼容版本,可降级i18n_extension至9.0.2之前、依赖sprintf ^6.0.0的版本,例如:

i18n_extension: ^8.0.0 # 需确认该版本依赖sprintf ^6.0.0

降级后需测试项目国际化功能,避免API变更引发异常。

方案3:使用dependency_overrides强制统一sprintf版本

若前两种方案不可行,可在pubspec.yaml中添加强制版本配置,但此方式可能存在兼容性风险,需全面测试:

dependency_overrides:
  sprintf: ^7.0.0 # 或选择^6.0.0,根据实际测试结果决定

添加后执行flutter pub get,并验证项目所有功能正常。

内容的提问来源于stack exchange,提问作者Stéphane de Luca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 05:43:14