如何在Flutter pub中忽略未使用子包以解决版本冲突?
排除未使用子包解决依赖冲突方案
完全可以通过排除未使用的maplibre_gl_web子包解决这个版本冲突——你的项目仅支持Android和iOS平台,web子包的依赖属于冗余内容,移除后就不会触发image包的版本矛盾。
具体操作步骤
- 修改
pubspec.yaml中flutter_maplibre_gl的依赖声明,添加exclude字段排除web子包:
dependencies: flutter_maplibre_gl: git: url: https://github.com/maplibre/flutter-maplibre-gl.git exclude: - maplibre_gl_web
- 若上述方式不生效,可通过
dependency_overrides强制统一image包版本(优先推荐排除子包的方案):
dependency_overrides: image: ^4.0.15
原理很简单:排除maplibre_gl_web后,它所依赖的image ^3.0.2不会被引入项目,自然就不会和flutter_launcher_icons要求的image ^4.0.15产生版本冲突。
内容的提问来源于stack exchange,提问作者Crag
相关产品推荐
相关产品推荐

