You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub克隆的Flutter项目运行报pub依赖版本冲突该如何解决

错误原因

这类报错属于Pub依赖版本求解失败,核心逻辑和无法用pub get修复的原因如下:

  • 所有发布到Pub的包都会在自身配置中声明依赖的其他包的兼容版本范围,你当前项目中同时依赖的两个包出现了依赖范围互斥的情况:flutter_svg ^0.19.3间接依赖petitparser ^3.0.0,而git源的intl_translation依赖petitparser ^4.0.0,不存在任何一个版本的petitparser可以同时满足两个约束条件,因此版本求解器直接终止运行。
  • pub get的作用仅为根据你在pubspec.yaml中声明的依赖范围,拉取匹配的最高兼容版本,没有权限自动修改你设定的依赖约束,因此无法解决这种范围互斥的冲突问题。
解决方法

这类冲突有三种常用的修复方案,可以按实际需求选择:

  • 方案1:强制覆盖依赖版本
    在pubspec.yaml的根层级添加dependency_overrides节点,强制整个项目使用统一版本的冲突依赖:
dependency_overrides:
  petitparser: ^4.0.0

提示:该方案属于强制兼容,若后续运行时出现API调用错误,可以调整强制指定的版本号,或者修改报错位置的适配代码

  • 方案2:升级冲突依赖到兼容版本
    将flutter_svg升级到^0.22.0及以上版本,该版本区间的flutter_svg已经适配了petitparser 4.0+,可以和当前git源的intl_translation正常兼容。
  • 方案3:替换冲突的依赖来源
    如果没有必须使用git源intl_translation的特殊需求,可以将其替换为Pub上的intl_translation: ^0.17.0正式版本,该版本适配petitparser ^3.0.0,可以和flutter_svg ^0.19.3正常兼容。

内容的提问来源于stack exchange,提问作者yasin moosavi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 03:06:03