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_core或firebase_auth,找到冲突的依赖来源后,可以通过dependency_overrides在pubspec.yaml中强制指定版本:
dependency_overrides: firebase_core: 0.5.3 firebase_auth: 0.18.4
完成修改后,执行flutter pub get重新拉取依赖即可解决冲突。
内容的提问来源于stack exchange,提问作者Salish Kumar




