You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Cloud Firestore 0.14.3引发Flutter移动端版本冲突问题咨询

解决Firebase依赖版本冲突问题

这种版本冲突在Flutter集成Firebase生态时非常常见,核心原因是Firebase官方要求旗下各Flutter SDK包保持版本兼容性,不同系列的版本之间容易出现依赖不匹配的情况。结合你的情况,我给你几个针对性的解决方案:

1. 统一Firebase包的兼容版本组合

Firebase的Flutter SDK包通常是同步迭代的,firebase_core: ^0.5.3对应的兼容版本组合里,cloud_firestore: ^0.14.4是匹配的,你只需要把firebase_auth调整为和这个版本兼容的具体版本即可。修改你的pubspec.yaml依赖如下:

dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^0.5.3
  cloud_firestore: ^0.14.4
  # 该版本与firebase_core 0.5.3完全兼容
  firebase_auth: ^0.18.4
  font_awesome_flutter: ^8.10.1

2. 强制固定版本(避免自动升级冲突)

如果使用^符号仍出现冲突,可以尝试固定所有Firebase包的具体版本号,这样pub会严格使用指定版本,不会自动拉取更高的兼容版本:

dependencies:
  flutter:
    sdk: flutter
  firebase_core: 0.5.3
  cloud_firestore: 0.14.4
  firebase_auth: 0.18.4
  font_awesome_flutter: 8.10.1

3. 排查间接依赖冲突

如果上述方法还是不行,你可以通过命令查看完整的依赖树,找出是否有其他第三方依赖间接引入了不同版本的Firebase包:

flutter pub deps

在输出中搜索firebase_corefirebase_auth,找到冲突的依赖来源后,可以通过dependency_overridespubspec.yaml中强制指定版本:

dependency_overrides:
  firebase_core: 0.5.3
  firebase_auth: 0.18.4

完成修改后,执行flutter pub get重新拉取依赖即可解决冲突。

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

火山引擎 最新活动