Flutter项目pub get失败:custom_marker与flutter_html依赖冲突排查
问题根源
你遇到的是典型的依赖版本冲突:
- 你使用的
flutter_html ^2.2.0属于2.x分支,这个分支对flutter_svg的版本要求是>=0.22.0 <1.0.0,也就是只能用0.x系列的flutter_svg - 而
custom_marker ^1.0.0的所有版本都要求flutter_svg ^1.0.1,也就是必须用1.0.1及以上的flutter_svg
这两个要求没有重叠的版本范围,pub工具找不到能同时满足两个依赖的flutter_svg版本,所以直接报错版本解析失败。
解决办法
这里给你几个可行的方案:
- 升级flutter_html到3.x及以上版本:
flutter_html从3.0.0-alpha.1开始,已经把flutter_svg的依赖要求更新为支持1.0.0+版本,和custom_marker的依赖要求兼容。你可以把pubspec.yaml里的flutter_html依赖改成flutter_html: ^3.0.0(或更高的稳定版),之后再执行flutter pub get即可。 - 使用依赖强制覆盖(谨慎使用):如果暂时不想升级
flutter_html,可以在pubspec.yaml里添加dependency_overrides,强制指定flutter_svg为1.0.1版本,让flutter_html强行使用这个版本。注意:这种方式可能会导致flutter_html出现未知的兼容性问题,必须全面测试相关功能是否正常。添加的代码如下:
dependency_overrides: flutter_svg: ^1.0.1
内容的提问来源于stack exchange,提问作者Jaimin Modi
相关产品推荐
相关产品推荐

