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

Flutter中.pub-cache文件夹是什么?为何影响项目却不在项目目录?

Flutter升级后.pub-cache依赖问题解答

1. .pub-cache 是什么?

  • 这是Flutter/Dart的本地依赖缓存目录,你通过pub get或flutter pub get拉取的所有第三方包,都会下载存放在这里,目的是避免重复下载相同依赖,提升项目构建效率。
  • 你看到的路径里git/flutter_paystack-xxx,说明这个依赖包是直接从Git仓库拉取的,而非Pub官方仓库的正式发布版本。

2. 为什么缓存目录的文件会影响项目?

  • 执行flutter pub get时,Flutter会把.pub-cache里的依赖包链接或复制到你的项目环境中,项目编译运行时,实际调用的就是缓存里的代码文件。
  • 你升级到Flutter 3.10.5后,该依赖包用了Flutter已废弃的API,导致编译报错,所以修改缓存文件能临时跑通项目,但存在几个问题:
    • 缓存文件不在你的项目目录下,Git不会追踪这些修改,自然推不到你的GitHub仓库。
    • 一旦执行flutter pub clean、换设备拉取项目,缓存会被重新生成,你的修改直接丢失。
    • 编辑器弹出警告,是因为这些文件属于外部依赖,不属于当前项目的源码范围。

3. 靠谱的解决办法

  • 找作者更新包:去这个Flutter Paystack包的Git仓库提Issue,说明Flutter 3.10.5下的废弃API问题,请求作者适配新版本。
  • 自己fork仓库修改:如果作者没及时更新,你可以fork这个Git仓库,自己修改废弃代码,然后把pubspec.yaml里的依赖地址换成你fork后的仓库地址。
  • 临时降级Flutter:如果不想折腾依赖,可以降级Flutter到之前能正常运行的版本,用命令flutter downgrade <具体版本号>就能实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:27:09