misonoteApp Center

Xcode DerivedData 占用太大怎么办:可以删除吗

可以放心删会自动重新生成;Thermo 直接删除。

先退出: Xcode

位置

  • ~/Library/Developer/Xcode/DerivedData

这是什么

DerivedData 是 Xcode 为每个项目生成的工作目录,里面有编译中间文件和产物、代码索引、构建日志,以及通过 Swift Package Manager 拉取的依赖。每个打开过的项目都会在这里有一个以项目名加哈希命名的文件夹。

为什么会这么大

每个项目、每种构建配置和目标设备都会产生一套中间文件,索引也会覆盖所有依赖。即使项目早已删除或不再打开,它在 DerivedData 里的文件夹也不会自动消失,iOS 开发者的这个目录长到几十 GB 并不少见。

能删吗?删了会怎样

安全,这也是 iOS 开发者最常用的「清理大法」。删除后 Xcode 会在下次打开项目时重新索引、重新编译,第一次构建会明显变慢,SwiftPM 依赖也要重新拉取。请先退出 Xcode 再清理,否则正在使用的索引和构建文件会出问题。

小提示

Xcode 设置的 Locations 页面会显示 DerivedData 的实际路径,旁边的小箭头可以直接在 Finder 中打开。

先看看占了多少

du -sh "$HOME/Library/Developer/Xcode/DerivedData" 2>/dev/null

手动删除

在「终端」里执行。删除不可撤销,执行前请确认路径。

rm -rf "$HOME/Library/Developer/Xcode/DerivedData"/*