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

Flutter项目合并分支时firebase_auth与url_launcher版本冲突如何解决

Flutter firebase_auth与url_launcher依赖冲突解决办法

冲突根本原因

当前项目使用的firebase_auth: 0.20.1依赖plugin_platform_interface ^1.0.2,而url_launcher: 6.0.9依赖plugin_platform_interface ^2.0.0,两个依赖要求的公共接口包版本不兼容,导致版本求解失败。
另外注意:firebase_core和firebase_auth属于运行时必需依赖,你当前的配置把它们放在了dev_dependencies里是错误的,需要移动到上层的dependencies块中,否则打包时会丢失依赖。

可用解决方案

  • 方案1(最推荐):升级firebase相关依赖到适配版本
    现有firebase系列依赖版本过旧,将其升级到适配plugin_platform_interface 2.x的版本即可解决冲突,同时还能获得官方的安全更新和BUG修复。修改pubspec.yaml配置如下:
dependencies:
  flutter:
    sdk: flutter
  url_launcher: ^6.0.9
  google_fonts: ^2.1.0
  # 修改firebase依赖版本
  firebase_core: ^1.20.0
  firebase_auth: ^3.11.2

dev_dependencies:
  flutter_test:
    sdk: flutter

修改完成后删除项目根目录的pubspec.lock文件,再执行flutter pub get即可。

  • 方案2:降级url_launcher适配现有firebase版本
    如果暂时不想调整firebase业务代码,可降级url_launcher到依赖1.x版本plugin_platform_interface的版本:
dependencies:
  # 把url_launcher版本改为5.7.10
  url_launcher: 5.7.10

修改完成后删除pubspec.lock重新执行flutter pub get即可。

  • 方案3(应急临时方案):强制覆盖依赖版本
    如果需要保留现有两个依赖的版本,可在pubspec.yaml中添加dependency_overrides节点强制指定公共依赖的版本,只要两个库没有用到跨版本不兼容的API即可正常运行:
# 加在pubspec.yaml的最外层即可
dependency_overrides:
  plugin_platform_interface: ^2.0.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:48:02