~/.pub-cache 太大能删吗?Flutter / Dart 依赖缓存清理
删前看一眼可能还有用的数据;Thermo 默认移到废纸篓,后悔还能找回。
位置
~/.pub-cache/hosted
这是什么
Dart 和 Flutter 的包管理器 pub 会把从 pub.dev 下载的包解压到 ~/.pub-cache/hosted。与 npm 不同,项目并不会把依赖复制到自己的目录,而是直接从这个全局缓存引用源码。
为什么会这么大
每个包的每个版本都完整保留,Flutter 项目依赖的插件又多,每次升级依赖都会新增一批版本,旧版本不会自动删除。
能删吗?删了会怎样
可以清理,但需要确认。因为项目直接引用这里的源码,清空后所有 Dart/Flutter 项目都需要重新执行 pub get 才能编译,需要联网重新下载;用 dart pub global 全局激活的工具也可能需要重新激活。你正在赶工或处于离线环境时,建议先保留。
小提示
Dart 自带的缓存清理命令会清掉整个 pub 缓存,效果和这里一样,清理后记得在常用项目里先跑一次 pub get。
先看看占了多少
du -sh "$HOME/.pub-cache/hosted" 2>/dev/null用它自带的命令清理
dart pub cache clean手动删除
在「终端」里执行。删除不可撤销,执行前请确认路径。
rm -rf "$HOME/.pub-cache/hosted"/*