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

Flutter项目添加firebase_dynamic_links出现依赖版本冲突报错如何解决

依赖冲突根因

冲突核心是两个第三方包依赖的plugin_platform_interface版本范围不兼容:

  • 你引入的firebase_dynamic_links: ^2.0.6依赖firebase_core ^1.3.0,最终要求plugin_platform_interface ^2.0.0
  • 项目原有permission_handler: ^5.1.0+2依赖的平台接口包仅支持plugin_platform_interface ^1.0.2
    两者版本范围无交集,因此版本求解失败。
解决方案

按照优先度从高到低排序:

  • 方案1:升级permission_handler到兼容版本
    permission_handler从6.0.0版本开始适配了plugin_platform_interface ^2.0.0,直接将pubspec.yaml中permission_handler的版本约束修改为^6.0.0(可根据需求选择更高的稳定版本,如^10.2.0)即可解决冲突。
    注意:如果项目中已有调用permission_handler的旧代码,需要适配6.0+版本的API变动,比如部分权限枚举名称调整。
    修改示例:
    permission_handler: ^6.1.3
    
  • 方案2:降级firebase_dynamic_links到兼容版本
    如果你不想修改现有permission_handler的代码逻辑,可以将firebase_dynamic_links降到2.0.0版本以下,1.x版本的动态链接依赖的plugin_platform_interface版本为1.x,和现有permission_handler版本兼容。
    修改示例:
    firebase_dynamic_links: ^1.1.1
    
    注意:旧版本动态链接可能缺少部分新特性,且可能存在已知安全问题,非特殊情况不推荐该方案。
  • 方案3:临时强制覆盖依赖版本
    如果你只是临时调试,不想改动两个包的版本,可以在pubspec.yaml中添加dependency_overrides节点,强制锁定plugin_platform_interface的版本为2.0.0+:
    dependency_overrides:
      plugin_platform_interface: ^2.0.0
    
    注意:该方案属于强制兼容,permission_handler 5.x版本没有适配2.0+的plugin_platform_interface,可能出现运行时异常,仅作为临时调试方案使用,不建议线上版本采用。

操作完版本修改后,执行以下命令清除缓存重新拉取依赖即可:

flutter clean
flutter pub get

内容的提问来源于stack exchange,提问作者Ali Azizi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 17:42:02