Flutter中easy_localizations与intl版本冲突问题求解
解决easy_localizations与intl版本冲突的方案
方案1:升级intl到兼容版本
错误提示明确指出easy_localizations ^3.0.1要求intl 0.18.1,直接修改pubspec.yaml中的intl依赖:
intl: ^0.18.1
执行以下命令更新依赖:
flutter pub get
如果没有其他依赖报错,说明该方案可行。若有其他包因依赖旧版intl报错,优先升级这些包到支持intl 0.18.x的版本。
方案2:降级easy_localizations到兼容intl 0.17.0的版本
如果不想升级intl,可将easy_localizations降级到2.x系列(该系列兼容intl 0.17.0),修改pubspec.yaml:
easy_localization: ^2.3.2
执行flutter pub get完成更新。注意降级后要检查项目代码是否适配easy_localizations旧版本的API。
方案3:排查间接依赖冲突
若前两种方案出现其他报错,用以下命令查看完整依赖树,定位所有依赖intl的包:
flutter pub deps
从输出里找出依赖intl 0.17.0的包,针对性升级这些包到支持更高版本intl的版本,或替换为替代包。
额外建议
你当前用的是Flutter Beta频道,若依赖适配问题频发,可切换回稳定版:
flutter channel stable flutter upgrade
稳定版的依赖生态更成熟,能减少这类版本冲突问题。
内容的提问来源于stack exchange,提问作者Eugene Ochako
相关产品推荐
相关产品推荐

