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

Flutter SDK内.pub-cache与用户主目录下.pub-cache的差异

Flutter 两个 .pub-cache 目录的区别

以下是这两个缓存目录的核心差异:

  • 归属与作用范围

    • Flutter SDK 内的 ~/path/to/flutter/.pub-cache/:属于特定版本的Flutter SDK,仅为该SDK提供依赖缓存服务。当你切换不同版本的Flutter时,每个SDK都会拥有独立的该缓存目录,彼此互不干扰。
    • 用户主目录下的 ~/home/.pub-cache/:属于当前系统用户,是全局通用的Pub缓存目录。所有未指定专属缓存路径的Pub/Flutter操作,都会默认使用这个目录,不同版本的Flutter也可共享其中的依赖缓存。
  • 缓存内容的独立性

    • SDK内的缓存:仅存储适配当前Flutter版本的依赖包。部分依赖对Flutter版本有严格要求,这个目录里的包都是与当前SDK版本匹配的。
    • 用户主目录的缓存:会存储所有通过Pub安装的依赖,无论对应哪个Flutter版本,除非你手动配置了单独的缓存路径。
  • 配置与使用逻辑

    • SDK内的缓存:无需额外配置,使用该SDK执行 flutter pub get 时,默认会优先使用或更新这个目录的缓存(未设置环境变量的前提下)。
    • 用户主目录的缓存:可通过设置 PUB_CACHE 环境变量指定。如果希望所有Flutter版本共享依赖缓存,可将该变量指向用户主目录的.pub-cache;若要隔离不同SDK的缓存,则可指向对应SDK内的缓存目录。
  • 清理与迁移影响

    • SDK内的缓存:删除该目录仅会影响当前Flutter SDK的项目依赖,重新执行 flutter pub get 即可重新下载适配的依赖,适合切换SDK版本后清理旧缓存。
    • 用户主目录的缓存:删除会影响所有使用该全局缓存的Flutter项目与SDK,清理后所有项目都需要重新下载依赖,适合全局清理过时依赖时操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 15:40:31