Levo 指南 · 开发者:Apple

开发者的 Mac 磁盘清理指南 (2026)

Levo 的 Ready to free 列表,展开了 Xcode 构建数据,下方是模拟器和仿真器以及设备支持文件

开发者的 Mac 总是被同样十几个地方占满:Xcode 的构建数据和模拟器、node_modules、包缓存、Docker 的磁盘映像、各语言的工具链以及 AI 模型。几乎所有这些都能按需重新生成,所以关键是弄清每个文件夹是什么,并使用工具自带的清理命令,而不是 rm。

生态藏在哪里如何清理指南
Xcode 构建数据~/Library/Developer/Xcode/DerivedDataSettings › Locations,或直接删除文件夹DerivedData
模拟器和运行时~/Library/Developer/CoreSimulatorxcrun simctl delete unavailable模拟器
设备支持文件~/Library/Developer/Xcode/iOS DeviceSupport删除旧 iOS 版本的文件夹DeviceSupport
SwiftPM 和 CocoaPods~/Library/Caches/org.swift.swiftpm、~/Library/Caches/CocoaPodsswift package purge-cache、pod cache clean --allSwiftPM 和 CocoaPods
node_modules每个 JavaScript 项目文件夹删除文件夹,然后运行 npm installnode_modules
npm、pnpm、Yarn、Bun~/.npm、pnpm 存储、~/.bun/install/cachenpm cache clean --force、pnpm store pruneJavaScript 缓存
DockerDocker 数据文件夹中的 Docker.rawdocker system pruneDocker
Homebrew~/Library/Caches/Homebrewbrew cleanupHomebrew
Python~/Library/Caches/pip、虚拟环境、condapip cache purge、uv cache cleanpip、uv 和 conda、虚拟环境
Rusttarget 文件夹、~/.cargocargo cleanRust
Go~/Library/Caches/go-build, ~/go/pkg/modgo clean -cacheGo
Gradle 和 Android~/.gradle/caches、~/Library/Android/sdk./gradlew clean、AVD ManagerGradle、Android 模拟器
编辑器JetBrains、VS Code 和 Cursor 的缓存各个 App 自己的文件夹JetBrains、VS Code 和 Cursor
测试用浏览器~/Library/Caches/ms-playwrightnpx playwright uninstallPlaywright 和 Puppeteer
游戏引擎Unity 的 Library、Unreal 的 DerivedDataCache删除文件夹,重新打开项目Unity 和 Unreal
AI 模型和智能体~/.ollama、~/.cache/huggingface、~/.claude各工具自己的命令AI 杂物

自己动手清理

先找出空间去了哪里。磁盘地图是最快的办法,不过几条 du 命令就能回答大部分问题:

du -sh ~/Library/Developer ~/Library/Caches ~/.cache ~/.npm ~/.gradle ~/.cargo ~/.ollama ~/.claude 2>/dev/null
du -sh ~/Library/Containers/com.docker.docker 2>/dev/null

然后按这个顺序处理,先处理最大且最安全的。

  1. 退出 Xcode,清理构建数据,再清理模拟器和旧的设备支持文件。在用了多年 Xcode 的 Mac 上,这通常有 50 到 150 GB。Xcode 为什么会变得这么大逐个解释了每个文件夹。
  2. 清理 Docker。镜像和构建缓存可以放心清理;数据卷里可能有你在意的数据库。
  3. 删除那些几个月没打开过的项目里的 node_modules 和 target 文件夹。以后需要时用包管理器恢复即可。
  4. 运行各包管理器的清理命令:brew cleanup、npm cache clean --force、pip cache purge、go clean -cache。每个缓存都会在下次安装时重建,这会花费时间和流量。
  5. 检查 AI 模型和智能体的历史记录。模型是这里唯一可能已经无法在网上找到的东西,所以要手动检查。

保证安全的原则:缓存和构建产物都是由别的东西生成的。归档、Docker 数据卷里的数据库、尚未推送的 git 工作、.env 文件以及你自己的模型则不是。

一套行之有效的习惯

对多数开发者来说,养成一个小习惯比一次大清理更有效。每月一次,用上面的命令统计各文件夹的大小,看看哪些变大了。Xcode 构建数据、Docker 的构建缓存和已放弃分支里的 node_modules 通常是增长最快的;其余的几乎不怎么变。

有两件事值得一次性做好。用环境变量(OLLAMA_MODELS、HF_HOME)把大型模型缓存指向外置硬盘,并缩短编程智能体保留会话的时间。此后增长就会彻底放缓。

另外还有一份简短的清单,无论清理工具怎么说,这些都别动:你已发布的 Xcode 归档、里面有数据库的 Docker 数据卷、.env 和凭据文件、SSH 密钥,以及有未推送工作的 git 仓库。它们都不是缓存,也都无法从源码重建。如果你不确定某个文件夹,先打开看看日期,并在删除之前问问你的智能体它是什么。

Levo 怎么做

Levo 会为你的磁盘维护一个实时索引,并按类型对找到的内容分组:Xcode 构建数据、模拟器、包缓存、Docker 镜像、智能体 worktree 等等,每项都有大小和原因。内置规则认得上面这些文件夹。你自己的智能体(比如 Claude Code 或 Codex)会读取索引并判断哪些已经过时,但只有 Levo 会执行删除。

Select › Smartly 会勾选在你的清理级别下安全的项目。模型、备份、虚拟机以及任何正在打开的东西都不会勾选,由你来决定。Levo 在删除前会再检查每个项目一遍,并且不会碰 Xcode 或构建正在使用的任何东西。详情见面向 Xcode 开发者的 Levo、面向 Web 开发者和面向 Android 开发者。

常见问题

开发者的 Mac 上什么最占空间?

通常首先是 Xcode 数据:DerivedData、模拟器及其运行时、设备支持文件,然后是 Docker 的磁盘映像、node_modules 文件夹和 AI 模型。统计一下你的个人文件夹和 Library 文件夹的大小,就知道哪种适用于你。

删除开发者缓存安全吗?

缓存和构建产物可以放心删,因为工具会根据你的源码重新生成。下次构建或安装会慢一些。不要删除归档、Docker 数据卷、尚未推送的 git 工作,或无法再次下载的模型。

该用 rm 还是工具自带的命令?

有工具命令时就用工具命令,比如模拟器用 simctl,还有 docker prune、brew cleanup 和 swift package purge-cache。它知道什么正在使用。DerivedData 和 node_modules 直接删除就可以。

多久清理一次开发者的 Mac?

可用空间变少时,或者一个大项目结束之后。构建数据和缓存会重新长回来,所以每月看一眼比每年大清理一次更好。