JavaScript 工具链
npm / pnpm / Yarn / Bun 缓存:多项目机器上的隐形重复占用
包管理器为了加速安装会积极缓存。在多项目、多工具链并存的 Mac 上,即使项目删掉了,缓存也可能持续占用大量空间。
更新于:
阅读时长: 6 分钟
为什么会悄悄变大
依赖 tarball 和解压后的包数据会被长期保留。不同项目、不同包管理器、不同试验分支叠加后,缓存很容易出现大量重复和历史残留。
Free Mac Space 如何定位
Free Mac Space 提供专门的 Node Modules 分类,覆盖 ~/.npm/_cacache、~/Library/pnpm/store、~/.pnpm-store、~/.yarn/berry/cache、~/.yarn/cache、~/.bun/install/cache 以及相关 ~/.cache 目录。
Free Mac Space 如何帮助清理
你可以在一个界面中按体积和最近修改时间筛选缓存目录再清理。流程仍然包含根路径校验、受保护路径检查、回收站优先和本地审计记录。
安全边界
应用把通用缓存与语言工具链缓存拆开扫描,减少跨分类误删风险,让你的清理决策更聚焦、更可解释。
Free Mac Space 扫描路径
- ~/.npm/_cacache
- ~/Library/pnpm/store
- ~/.pnpm-store
- ~/.yarn/berry/cache
- ~/.yarn/cache
- ~/.bun/install/cache
- ~/.cache/pnpm
建议的月度检查步骤
- 按目录体积排序,优先处理长期未使用的缓存仓库。
- 本周仍在高频开发的项目可暂缓清理对应缓存。
- 再次扫描确认回收量是否达到预期。
操作步骤(HowTo)
1. 识别 JavaScript 工具链 的增长来源
依赖 tarball 和解压后的包数据会被长期保留。不同项目、不同包管理器、不同试验分支叠加后,缓存很容易出现大量重复和历史残留。
2. 确认扫描覆盖路径
Free Mac Space 提供专门的 Node Modules 分类,覆盖 ~/.npm/_cacache、~/Library/pnpm/store、~/.pnpm-store、~/.yarn/berry/cache、~/.yarn/cache、~/.bun/install/cache 以及相关 ~/.cache 目录。 重点路径:~/.npm/_cacache、~/Library/pnpm/store、~/.pnpm-store、~/.yarn/berry/cache、~/.yarn/cache、~/.bun/install/cache、~/.cache/pnpm。
3. 先看安全边界再执行动作
应用把通用缓存与语言工具链缓存拆开扫描,减少跨分类误删风险,让你的清理决策更聚焦、更可解释。
4. 按先审查后清理流程执行
你可以在一个界面中按体积和最近修改时间筛选缓存目录再清理。流程仍然包含根路径校验、受保护路径检查、回收站优先和本地审计记录。
5. 复核动作 1
按目录体积排序,优先处理长期未使用的缓存仓库。
6. 复核动作 2
本周仍在高频开发的项目可暂缓清理对应缓存。
7. 复核动作 3
再次扫描确认回收量是否达到预期。
常见问题
JavaScript 工具链 这类占用通常来自哪里?
主要来源包括:npm 缓存、pnpm store、Yarn 缓存、Bun 安装缓存。依赖 tarball 和解压后的包数据会被长期保留。不同项目、不同包管理器、不同试验分支叠加后,缓存很容易出现大量重复和历史残留。
这篇文章建议重点查看哪些路径?
建议优先检查这些路径:~/.npm/_cacache、~/Library/pnpm/store、~/.pnpm-store、~/.yarn/berry/cache、~/.yarn/cache、~/.bun/install/cache、~/.cache/pnpm。Free Mac Space 提供专门的 Node Modules 分类,覆盖 ~/.npm/_cacache、~/Library/pnpm/store、~/.pnpm-store、~/.yarn/berry/cache、~/.yarn/cache、~/.bun/install/cache 以及相关 ~/.cache 目录。
如何在不增加误删风险的前提下处理?
你可以在一个界面中按体积和最近修改时间筛选缓存目录再清理。流程仍然包含根路径校验、受保护路径检查、回收站优先和本地审计记录。 应用把通用缓存与语言工具链缓存拆开扫描,减少跨分类误删风险,让你的清理决策更聚焦、更可解释。
月度复查时应该怎么执行?
按目录体积排序,优先处理长期未使用的缓存仓库。;本周仍在高频开发的项目可暂缓清理对应缓存。;再次扫描确认回收量是否达到预期。