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

Flutter实现Firebase功能时出现依赖版本冲突报错该如何解决?

Flutter firebase_auth与http包版本解算失败解决方案

冲突本质

firebase_auth >=3.2.0依赖的firebase_auth_web ^3.2.0要求http_parser ^4.0.0,而http 0.12.x版本要求http_parser <4.0.0,两个依赖的版本范围无重叠,因此同时依赖http ^0.12.0+2与firebase_auth ^3.2.0时会出现版本解算失败。

修复方案

  • 【最优方案】升级http包版本
    将pubspec.yaml中http的依赖配置从http: ^0.12.0+2调整为http: ^0.13.0。http 0.13.0及以上版本已适配http_parser ^4.0.0,与firebase_auth 3.2.0+的依赖要求完全兼容,且该版本对0.12.x的API兼容性极高,绝大多数场景无需修改业务代码即可直接升级。
  • 【临时兼容方案】强制覆盖依赖版本
    若项目中存在其他第三方包限制无法升级http包,可在pubspec.yaml中添加dependency_overrides节点,强制指定http_parser的版本:
    dependency_overrides:
      http_parser: ^4.0.0
    
    注意:该方案属于强制覆盖依赖,可能存在http包调用http_parser接口不兼容的风险,修改完成后需要完整测试项目中所有http请求相关的逻辑。
  • 【降级适配方案】降低firebase_auth版本
    若上述两个方案都无法执行,可将pubspec.yaml中firebase_auth的依赖版本降低到3.2.0以下,例如指定为firebase_auth: ^3.1.1。该版本的firebase_auth依赖的firebase_auth_web版本更低,对http_parser的版本要求低于4.0.0,可与http 0.12.x版本兼容。

验证步骤

修改完成后依次执行以下命令验证修复结果:

  1. 清理项目缓存:flutter clean
  2. 重新拉取依赖:flutter pub get
    若执行无报错即为修复完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:36:05