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

Flutter 3.13.6项目运行时Dart依赖冲突问题求助

解决Flutter 3.13.6依赖冲突导致的构建失败问题

方案1:用pubspec.lock锁定依赖版本

  • 每个项目保留自己的pubspec.lock文件,不要随意删除或修改。运行项目前执行flutter pub get,它会优先读取该文件记录的精确依赖版本,不会自动下载不兼容的新版本。
  • 这个文件能彻底固定项目依赖的版本组合,避免因依赖版本浮动引发的冲突,而且只要lock文件存在,pub get不会重复下载已匹配的依赖包,能有效节省流量。

方案2:配置项目级独立缓存(替代手动复制文件夹)

不用手动删除/复制全局缓存,直接给每个项目指定专属缓存路径:

  • 临时生效:运行项目时添加缓存路径参数:
    flutter pub get --cache-path=./.pub_cache
    
    缓存会存在项目根目录的.pub_cache文件夹里,每个项目独立存储。
  • 持久生效:进入项目目录时,通过终端设置专属环境变量(以bash为例):
    export PUB_CACHE=$(pwd)/.pub_cache
    
    之后执行flutter pub get或构建命令,都会自动使用这个本地缓存,切换项目时重新设置即可,完全不用手动操作缓存文件夹。

方案3:排查并手动修复冲突依赖

  • 先运行flutter pub outdated,查看哪些依赖存在版本不兼容或冲突的情况,定位冲突根源。
  • 在pubspec.yaml中手动指定冲突依赖的兼容版本:比如把带^的浮动版本(如package_a: ^1.2.3)改成固定版本(package_a: 1.2.3),或者根据依赖的更新日志,选择适配Flutter 3.13.6的版本范围。
  • 如果是Flutter SDK版本导致的依赖不兼容,优先升级/降级个别依赖到适配3.13.6的版本,而非动整个缓存。

方案4:回退到兼容的依赖版本

如果是某个依赖更新后引发的冲突,执行以下命令回退到之前能正常运行的版本:

flutter pub downgrade <package_name>

执行完成后,pubspec.lock会自动更新锁定该版本,后续运行项目就不会再出现这个依赖的冲突问题。

内容的提问来源于stack exchange,提问作者Ahmed Loutfy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 06:13:15