我做了 DevSweep:开发者磁盘告急时,先把能清理的东西找出来
做 macOS 开发久了,磁盘空间总会在某个早上突然变少。Xcode 的缓存、模拟器、项目里的 node_modules 和 target,再加上 Docker 镜像和 Build Cache,平时不太注意,攒起来就是几十 GB。真正麻烦的不是找不到几个大目录,而是不确定哪些能删,删了会不会影响手头的项目。
我做 DevSweep,就是想把这件事做得简单一点:先扫描,再解释,最后由自己决定清理什么。
它到底扫什么
DevSweep 是一个原生 SwiftUI macOS 工具,目前版本是 0.1.11,支持 macOS 13 及以上。它不会扫描整个磁盘,也不会碰照片、文档、邮件或源码;默认只看常见的开发者路径,也可以添加自己的项目根目录。
扫描范围包括 Xcode 和 CoreSimulator、SwiftPM、Cargo、Rust/Tauri、Node、Gradle、Maven、Python、Go、Flutter、VS Code、Cursor 等。项目目录则会找 target、.build、Pods、node_modules、dist、.next、.turbo、.dart_tool、Python 缓存和测试产物这些通常可以重新生成的东西。
Docker 也单独做了处理。DevSweep 通过 Docker 官方 CLI 统计未使用镜像、已停止容器、未使用卷和 Build Cache;Docker Desktop 的 Docker.raw 只显示占用,不会把它当成普通文件直接删除。这样至少不会因为清理缓存,把 Docker 的虚拟磁盘弄坏。
不是看见大就直接删
清理工具最容易让人不放心的地方,就是把所有东西都变成一个“清理”按钮。DevSweep 把结果分成三种风险:可以直接清理、建议确认、手动处理。普通缓存优先移入 macOS 废纸篓,之后想反悔还有机会;CoreSimulator 设备通过 simctl 删除,避免直接改设备目录;Docker 资源则必须单独确认,因为 Docker CLI 的清理不能从废纸篓恢复。
Xcode Archives、iOS DeviceSupport、项目构建产物和部分 IDE 工作区数据,默认不会悄悄替你处理。它们确实可能占空间,但也可能正是你之后还要用的东西。把风险说清楚,比把数字做得很大更重要。
另外,扫描也改成了用户主动触发。打开 DevSweep 后不会立刻在后台扫一遍;点击“开始扫描”才开始。清理完成后,已成功处理的项目会从当前列表移除,也不会马上偷偷重新扫描。这个行为看起来很小,但用起来会更踏实:你看到的就是刚才那次操作的结果。
适合什么人
如果你同时用 Xcode、Node、Rust、Docker 或几个不同的 IDE,开发机的空间很容易被各种“以后可能还会用”的东西占满。DevSweep 适合在需要腾空间时,先把这些开发缓存集中列出来,再按自己的情况处理。
它不会承诺一次释放几百 GB,也不会假装所有缓存都应该删除。它做的事情更朴素:把常见位置找全,把目录大小算准,把删除后果写出来,让清理这件事不再靠猜。
项目和下载地址:
如果你愿意试试,建议先扫描一遍,不要一上来全选。看看它找到的内容是不是你预期的,再决定哪些该清理。