Flutter依赖冲突:custom_marker_icon >=0.2.0版本解析失败如何解决?
依赖冲突解决办法
你遇到的是典型的传递依赖版本冲突,两个第三方包分别依赖了google_maps_flutter的不兼容大版本,无法自动解析,可按以下优先级尝试解决:
- 方案1:使用
dependency_overrides强制锁定google_maps_flutter版本
这是最便捷的处理方式,直接在你的pubspec.yaml文件中添加覆盖配置,强制所有依赖都使用同一个版本的google_maps_flutter:
配置完成后重新运行dependency_overrides: google_maps_flutter: ^2.0.2dart pub upgrade --major-versions即可。注意:该方案存在极小概率的API不兼容风险,如果运行时出现custom_marker_icon相关的报错,再换其他方案即可 - 方案2:降级
custom_info_window到兼容版本
查找custom_info_window的历史版本,选择依赖google_maps_flutter ^1.1.1的旧版本,替换掉当前的^1.0.1版本号即可解决冲突,不需要做其他修改。 - 方案3:替换冲突的第三方包
如果方案1出现运行时报错,你可以寻找功能和custom_marker_icon或custom_info_window一致、且依赖版本匹配的其他第三方包替换现有依赖。 - 方案4:本地修改冲突包的依赖配置
将custom_marker_icon的源码下载到本地,修改其pubspec.yaml中google_maps_flutter的依赖版本为^2.0.2,测试功能正常后通过本地路径依赖该修改后的包即可。
内容的提问来源于stack exchange,提问作者Omor Faruqe
相关产品推荐
相关产品推荐

