Dart SDK 2.14.4下build_test与flutter_test、google_maps_flutter依赖冲突如何解决
Flutter pub get依赖版本冲突解决方案
冲突核心原因
你当前使用的Dart 2.14.4内置的
flutter_test依赖test_api 0.4.2,但指定的build_test ^0.10.3版本区间(<0.11.0)和google_maps_flutter ^0.5.27+3共同约束下,要求test_api版本最高只能到0.2.19,版本范围完全不重叠导致解析失败。
可落地解决方案
- 方案1:升级
build_test版本到兼容区间
直接把pubspec.yaml里的build_test ^0.10.3改成build_test ^2.0.0,该版本已经适配高版本的test_core和test_api,可以和Dart 2.14.4内置的flutter_test、google_maps_flutter 0.5.x版本兼容。改完执行flutter clean后再执行flutter pub get即可。 - 方案2:升级
google_maps_flutter到空安全后版本
如果因业务限制不能升级build_test,可以将google_maps_flutter ^0.5.27+3升级到google_maps_flutter ^2.0.0,该版本依赖的platform_interface不再和旧版build_test的stream_transform依赖冲突,也能解决版本解析问题。 - 方案3:临时添加依赖覆盖(仅应急用,不推荐长期使用)
如果前两个方案都影响现有业务,可以在pubspec.yaml末尾添加dependency_overrides节点强制约束版本:
该方案会强制覆盖依赖的版本约束,可能存在运行时兼容风险,仅适合临时调试使用。dependency_overrides: test_api: ^0.4.2 stream_transform: ^1.2.0
内容的提问来源于stack exchange,提问作者Gaurav Sable
相关产品推荐
相关产品推荐

