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

Flutter项目运行pub get报错firebase_messaging与localize_and_translate版本不兼容

问题根源

报错核心是firebase_messaging ^6.0.13和localize_and_translate ^3.0.3的依赖链存在冲突:前者要求platform包版本为^2.0.0,后者的依赖链要求platform包版本为^3.0.0-nullsafety.4,版本范围不重叠导致版本求解失败。

可行解决方案

方案一:使用依赖覆盖强制兼容(优先选择,改动最小)

这是最快解决冲突的方案,无需修改现有业务依赖的版本,也不用调整SDK版本:

  1. 在你的pubspec.yaml文件中新增dependency_overrides配置块,位置放在dev_dependencies块之后即可:
dependency_overrides:
  platform: ^2.2.1
  1. 删除项目根目录下的pubspec.lock文件
  2. 执行以下命令清除缓存并重新拉取依赖:
flutter clean
flutter pub get

这个方案强制所有依赖使用2.2.1版本的platform包,该版本同时满足两个依赖链的最低兼容要求,不会影响现有功能的正常使用。

方案二:升级冲突依赖版本

如果不想使用依赖覆盖,可以选择升级任意一个冲突的依赖,适配对方的版本要求:

  • 升级firebase_messaging到7.0.2及以上版本,该版本开始支持platform ^3.0.0,可以和localize_and_translate ^3.0.3兼容
  • 或者升级localize_and_translate到4.0.0及以上版本,该版本调整了依赖链,不再和低版本firebase_messaging冲突
    注意:版本跨度过大时可能存在API变动,需要同步调整项目中调用对应库的业务代码,避免运行报错

方案三:替换本地化依赖

如果项目中localize_and_translate的使用场景较少,可以替换为其他无依赖冲突的轻量本地化库,从根源消除冲突。

验证步骤

依赖拉取成功后,建议跑一遍核心业务流程的测试,确认存储、推送、本地化相关功能没有异常即可。

内容的提问来源于stack exchange,提问作者MU'men Ahmed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:39:03