开发目录占用分析
先找出最大的项目,再看是源文件、依赖还是构建产物占空间。DiskTreeSize 可为部分常见开发目录显示用途说明,帮助你逐项核对。
开发用的 Mac 常常保存很多项目。源代码本身不大,依赖、构建结果、模拟器资料和归档却可能长期积累。要整理空间,先回答两个问题:哪个项目最大,里面又是哪一类目录最大?
DiskTreeSize 的目录树适合做这种逐层比较。它也会为部分常见开发目录显示用途说明,但不会自动判断哪些项目已经废弃。
先比较项目,而不是直接删缓存
选择你的工作文件夹开始分析,例如存放多个前端项目或 Xcode 工程的父目录。按 大小 或 实际占用 从大到小排序,再展开占用最多的项目。
把源文件、媒体素材、项目依赖和生成结果分开看。同一个名叫 build 的目录,在不同项目里可能有不同用途;单凭名称不能证明内容可以重新生成。
需要目录树的操作说明时,可先看 文件夹大小指南。
这些目录大了,分别意味着什么
| 目录或常见位置 | 通常是什么 | 整理前需要核对 |
|---|---|---|
项目中的 node_modules |
前端或 Node.js 项目的已安装依赖 | 项目依赖声明、锁定版本的文件、下载来源及本地修改是否仍可恢复 |
项目中的 .next |
Next.js 默认构建目录 | 是否是当前运行或需要部署的结果;项目也可以配置其他输出位置 |
~/Library/Developer/Xcode/DerivedData |
Xcode 的构建与索引资料 | 当前工程与 Xcode 配置、是否正在构建,以及重建成本 |
~/Library/Developer/Xcode/Archives |
Xcode 的版本归档 | 对应版本、调试符号与备份;已发布并不等于不再需要 |
~/Library/Developer/CoreSimulator |
模拟器相关资料 | 哪些设备和测试资料仍需保留,优先从 Xcode 的相关管理入口核对 |
~ 表示当前用户的个人文件夹。这些位置只在使用相关工具时存在,且某些工具允许修改存放位置;目录不存在时无需创建它。
npm 的目录说明 区分项目依赖 node_modules 与 npm 缓存,不能把两者混为一类。Next.js 默认使用 .next,但可以更改构建目录,见 官方 distDir 文档。
隐藏目录也可能占用空间
.next 等以点开头的目录平时不一定在 Finder 中显示。DiskTreeSize 在扫描已授权且可访问的位置时包含隐藏项目,因此不能只凭 Finder 里看见的几项推算项目大小。
想检查 Xcode 资料,可以直接选择已经存在的 ~/Library/Developer 或更小的目标目录。选择窗口中用 Command-Shift-G 输入路径,再确认分析。系统权限仍可能限制访问,具体排查方法见 系统数据占用指南。
查看常见目录的用途说明
在目录树中右键一个目录。对于已识别的名称或常见路径,菜单里会显示相应说明,例如 Node 依赖目录、Xcode 构建缓存、App 归档或模拟器数据。
这是基于名称和路径的说明,不是对目录内容的恢复测试。尤其需要区分“可能重新生成的产物”与“需要保留的资料”。目录很大,或者说明提到缓存,都不等于可以忽略当前项目的使用状态。
Apple 明确要求保留每个已分发版本的 Xcode 归档,用于获取对应的调试符号、分析崩溃报告,见 构建调试信息说明。不要仅因为应用已经发布,就把 Archives 当成普通构建缓存。
查已知名称,再逐项比较
可以在 搜索名称… 中输入 node_modules 或 DerivedData,按回车,点击结果定位到目录树。搜索匹配名称,不搜索文件内容,最多显示 200 项。
这能帮助寻找已知目录,但没有“统计全部 node_modules 总大小”或“找出所有闲置项目”的专门功能。结果较多时,可选择更小的工作范围,按大小比较各项目,再检查其子目录。
确认恢复方式,留下整理记录
处理一个项目之前,先确认源文件已保留、依赖和生成产物能否恢复,以及它是否仍在运行。对于工具管理的资源,优先使用该工具提供的管理入口。不要把一整组依赖、虚拟环境或工具链都当成用途相同的缓存。
扫描、排序和目录说明可免费使用。Pro,也就是应用内购买的付费功能,可提供 Finder 定位、报告导出及确认后移到废纸篓;首次请求 Pro 功能时可主动领取试用。
需要记录整理效果时,在同一位置保存前后两份报告,然后手动比较相同路径的大小。报告的范围和限制见 导出扫描报告指南。处理后点击 重新扫描,再查看系统实际可用空间。
常见问题
DiskTreeSize 会自动删除开发缓存吗?
不会。它比较目录大小,并为部分常见开发目录显示用途说明。说明不是对内容的完整检查;是否保留需要你结合项目状态、备份和恢复方式判断。
可以一次找到所有 node_modules 的占用总和吗?
当前版本没有专门的依赖目录汇总。可扫描工作目录、按名称搜索 node_modules,再逐项定位和比较;名称搜索最多显示 200 项,不应当成完整清单。
已经发布应用,Xcode Archives 就可以删除吗?
不能仅按已发布来判断。Apple 要求保留每个已分发版本的 Xcode 归档,其中的符号资料用于分析崩溃报告。应按版本核对保留与备份要求。