xcode deriveddata缓存长期堆积导致硬盘空间占用暴增、补全卡顿及“no such module”编译错误;可通过xcode偏好设置精准清理当前项目缓存,或手动/终端命令彻底清除全部deriveddata释放20gb+空间。

Mac硬盘空间被Xcode吃掉几十GB,Finder里“其他”类目暴增、Xcode补全变卡、甚至编译报错提示“No such module”,大概率是DerivedData缓存长期堆积所致——它存着所有项目的索引、模块缓存、dSYM和构建中间产物,单个项目轻松占5–12GB,且与你的源码完全无关,删掉后Xcode会在下次构建时自动重建。
通过Xcode内置设置精准清理当前项目缓存
这个方法只删你正在打开的那个项目的DerivedData子目录,不会波及其他项目,适合日常维护或调试前快速轻量清理。
确保Xcode已启动,并打开你要处理的项目。
顶部菜单栏点击 Xcode → 设置…(Preferences)。
切换到 Locations 标签页,在“Derived Data”右侧点击小箭头图标(?)。
这会直接在访达中打开当前项目的缓存文件夹(如 MyApp-abc123xyz),【必须先关闭Xcode,否则该文件夹内部分文件被进程锁定,无法删除】。
关闭Xcode后,在访达中全选该文件夹内容 → 拖入废纸篓 → 右键废纸篓 → 清空废纸篓。
手动删除全部DerivedData释放巨大空间
适用于磁盘告急、编译异常频发、或准备重装开发环境时。这是释放20GB+空间最直接的方式。
第一步:完全退出Xcode(包括菜单栏右上角的小图标进程,必要时用活动监视器强制退出)。
第二步:打开访达 → 按 Shift + Command + G → 粘贴路径:~/Library/Developer/Xcode/DerivedData → 回车。
第三步:点击窗口右上角“显示” → “为列表视图排序” → 点“大小”列,顶部就是体积最大的旧项目缓存;按住Command+A全选所有子文件夹,直接拖入废纸篓。
第四步:右键废纸篓 → “清空废纸篓”。【不执行这步,磁盘空间不会真正释放】
终端命令一键清除(高效可复用)
方法一(推荐):打开终端,运行以下命令:
rm -rf ~/Library/Developer/Xcode/DerivedData
方法二(带确认机制,防手抖):先查看是否存在
ls -la ~/Library/Developer/Xcode/ | grep DerivedData —— 若有输出,再执行删除命令。
执行后无需重启Mac,重新打开Xcode并构建任意项目,缓存即自动重建。首次编译略慢属正常现象。











