开发者的 Mac 上,「系统数据」到底被什么占了
开发工具在 macOS 上把几十个 GB 藏在哪:Xcode、包管理器缓存、模拟器、Docker 和本地快照,以及逐项测量的命令。
「系统设置」里的储存空间条,会把它分不了类的东西统统归进「系统数据」。在开发者的 Mac 上,这一块大多是你家目录里的工具缓存,而不是操作系统本身。
把常见的几处量一遍
du -sh ~/Library/Developer ~/Library/Caches ~/Library/Containers \
~/.npm ~/.cache ~/.gradle ~/.m2 ~/.cargo ~/go/pkg 2>/dev/null | sort -h
| 位置 | 是什么 | 用什么清 |
|---|---|---|
~/Library/Developer | Xcode DerivedData、Archives、设备支持、模拟器 | 见 Xcode 指南 |
~/Library/Caches | 应用缓存,以及 Homebrew、pip、Yarn、JetBrains 等 | 工具自带命令的用命令(brew cleanup、pip cache purge) |
~/.npm ~/.cache | npm 缓存;uv、Puppeteer、Playwright 等很多工具 | npm cache clean --force、uv cache prune |
~/.gradle ~/.m2 | Gradle 缓存与 Maven 本地仓库 | 删除 ~/.gradle/caches,下次构建会重新下载依赖 |
~/.cargo ~/go/pkg | Cargo registry、Go 模块缓存 | cargo cache -a(需要 cargo-cache)、go clean -modcache |
~/Library/Containers/com.docker.docker | Docker 的磁盘镜像 | docker system prune,见 Docker 指南 |
时间机器的本地快照
tmutil listlocalsnapshots /
macOS 会保留本地快照,并在空间紧张时自己清理,所以一般不用管。但它能解释为什么有时删了一个大目录,空间却没有马上回来。
这些不是缓存
~/.ollama、~/.cache/huggingface 里的模型权重,Python 虚拟环境,~/Library/Application Support/MobileSync 里的 iPhone 备份,以及 ~/Library/Mobile Documents(iCloud)下的一切,都很大、看起来像垃圾,但删掉会丢真实数据,或者赔上几个小时的下载。
Siftaway 怎么处理
一次扫描覆盖上面所有位置,按体积排序,说明每一处属于哪个工具、重建代价是什么,并把「不是缓存」的那一组明确标为受保护,而不是拿出来让你删。