[{"data":1,"prerenderedAt":56},["ShallowReactive",2],{"blog-zh-clear-js-package-caches":3},{"meta":4,"html":14,"headings":15,"raw":55},{"title":5,"description":6,"topic":7,"date":8,"author":9,"icons":10},"npm、pnpm、Yarn 缓存怎么清理，不影响项目","分清全局缓存和项目里的 node_modules，用官方命令清理 npm、pnpm、Yarn 缓存，并避开几个容易踩的坑。","developer-cleanup","2026-10-29","浣熊管家团队",[11,12,13],"package","terminal","package-minus","\u003Cp>装的依赖越多，包管理器在你的用户目录里攒下的缓存就越大，几个 GB 到几十 GB 都很常见。这些缓存设计上就可以删除，删掉后最多是下次安装时重新下载；不过有几种情况，它们并不只是缓存。下面按 npm、pnpm、Yarn 逐个说明位置、命令和注意事项。\u003C\u002Fp>\n\u003Ch2 id=\"cache-vs-node-modules\">\u003Ca class=\"heading-anchor\" href=\"#cache-vs-node-modules\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>缓存和 node_modules 不是一回事\u003C\u002Fh2>\n\u003Cp>全局缓存是包管理器下载过的软件包的本地副本，所有项目共用，删除后不会改动项目文件。\u003Ccode>node_modules\u003C\u002Fcode> 是每个项目实际安装的依赖，删除后项目要重新安装才能运行。这篇文章讲前者；旧项目里的 \u003Ccode>node_modules\u003C\u002Fcode> 怎么批量清理，见\u003Ca href=\"\u002Fblog\u002Fclean-project-build-artifacts\">旧项目构建目录的批量清理\u003C\u002Fa>。\u003C\u002Fp>\n\u003Ch2 id=\"cache-locations\">\u003Ca class=\"heading-anchor\" href=\"#cache-locations\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>缓存都放在哪里\u003C\u002Fh2>\n\u003Cdiv class=\"table-wrap\">\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>工具\u003C\u002Fth>\u003Cth>macOS 上的默认位置\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>npm\u003C\u002Ftd>\u003Ctd>\u003Ccode>~\u002F.npm\u002F_cacache\u003C\u002Fcode>，npx 临时安装的工具在 \u003Ccode>~\u002F.npm\u002F_npx\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>pnpm\u003C\u002Ftd>\u003Ctd>存储在 \u003Ccode>~\u002FLibrary\u002Fpnpm\u002Fstore\u003C\u002Fcode>，元数据缓存在 \u003Ccode>~\u002FLibrary\u002FCaches\u002Fpnpm\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Yarn 1\u003C\u002Ftd>\u003Ctd>\u003Ccode>~\u002FLibrary\u002FCaches\u002FYarn\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Yarn 2 及以上\u003C\u002Ftd>\u003Ctd>默认启用全局缓存，位于 \u003Ccode>~\u002F.yarn\u002Fberry\u002Fcache\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Bun\u003C\u002Ftd>\u003Ctd>\u003Ccode>~\u002F.bun\u002Finstall\u002Fcache\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Corepack\u003C\u002Ftd>\u003Ctd>\u003Ccode>~\u002F.cache\u002Fnode\u002Fcorepack\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>如果你改过配置，以各工具命令报告的位置为准，下文会给出查看方法。\u003C\u002Fp>\n\u003Ch2 id=\"before-you-clean\">\u003Ca class=\"heading-anchor\" href=\"#before-you-clean\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>清理前要知道的几点\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>会重新下载\u003C\u002Fstrong>：清掉缓存后，下次安装要重新从网络获取。离线开发、网络慢或者依赖私有源的场景，清理前先想好。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>pnpm 的空间是共享的\u003C\u002Fstrong>：在 APFS 磁盘上，pnpm 默认用写时复制的克隆把存储里的文件放进项目，项目的 \u003Ccode>node_modules\u003C\u002Fcode> 和存储共用同一批数据块。只删其中一边，实际释放的空间都可能小于显示的大小。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>全局安装可能依赖存储\u003C\u002Fstrong>：按 pnpm 文档，较新版本中用 \u003Ccode>pnpm add -g\u003C\u002Fcode> 安装的全局包默认通过存储目录下的 \u003Ccode>links\u003C\u002Fcode> 运行，整个删掉存储后要重新安装这些全局工具。Bun 的 \u003Ccode>globalStore\u003C\u002Fcode>（默认关闭）开启后也一样，相关项目需要重新运行 \u003Ccode>bun install\u003C\u002Fcode>。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Yarn PnP 项目直接读缓存\u003C\u002Fstrong>：使用 Plug&#39;n&#39;Play 的 Yarn 项目没有 \u003Ccode>node_modules\u003C\u002Fcode>，依赖就是缓存里的 zip 文件。清掉缓存后，要先运行 \u003Ccode>yarn install\u003C\u002Fcode> 才能启动项目。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"manual-cleanup\">\u003Ca class=\"heading-anchor\" href=\"#manual-cleanup\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>手动清理命令\u003C\u002Fh2>\n\u003Ch3 id=\"npm\">\u003Ca class=\"heading-anchor\" href=\"#npm\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>npm\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\"># 查看缓存根目录，默认是 ~\u002F.npm\nnpm config get cache\ndu -sh ~\u002F.npm\u002F_cacache ~\u002F.npm\u002F_npx\n# 校验缓存并回收无用数据，不会清空\nnpm cache verify\n# 清空下载缓存 _cacache，项目里的 node_modules 不受影响\nnpm cache clean --force\n# 删除 npx 临时安装的工具，下次运行时会重新下载\nrm -rf ~\u002F.npm\u002F_npx\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>npm 的缓存会自我修复，\u003Ca href=\"https:\u002F\u002Fdocs.npmjs.com\u002Fcli\u002Fv11\u002Fcommands\u002Fnpm-cache\" target=\"_blank\" rel=\"noopener\">官方文档\u003C\u002Fa>明确说，除了腾出磁盘空间，没有必要清空它。遇到安装报错时，先试 \u003Ccode>npm cache verify\u003C\u002Fcode>。\u003C\u002Fp>\n\u003Ch3 id=\"pnpm\">\u003Ca class=\"heading-anchor\" href=\"#pnpm\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>pnpm\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\"># 查看当前存储位置，例如 ~\u002FLibrary\u002Fpnpm\u002Fstore\u002Fv10\npnpm store path\ndu -sh &quot;$(pnpm store path)&quot;\n# 只删除没有任何项目引用的包\npnpm store prune\n# 元数据缓存可以直接删除，pnpm 会按需重新下载\nrm -rf ~\u002FLibrary\u002FCaches\u002Fpnpm\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fpnpm.io\u002Fcli\u002Fstore\" target=\"_blank\" rel=\"noopener\">pnpm 文档\u003C\u002Fa>说明，\u003Ccode>pnpm store prune\u003C\u002Fcode> 不会影响你的项目，建议偶尔运行、不要太频繁，因为刚删掉的包可能很快又要用到。pnpm 每块磁盘使用一个存储：项目放在外接磁盘上时，存储通常在那块磁盘根目录的 \u003Ccode>.pnpm-store\u003C\u002Fcode>，在该项目里运行 \u003Ccode>pnpm store path\u003C\u002Fcode> 就能看到。\u003C\u002Fp>\n\u003Ch3 id=\"yarn\">\u003Ca class=\"heading-anchor\" href=\"#yarn\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Yarn\u003C\u002Fh3>\n\u003Cp>Yarn 1 和 Yarn 2 及以上的命令不同，先用 \u003Ccode>yarn --version\u003C\u002Fcode> 确认当前目录下生效的版本。\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\"># Yarn 1：查看并清空全局缓存\nyarn cache dir\nyarn cache clean\n# Yarn 2 及以上：在使用该版本的项目目录中运行，只清空全局缓存\nyarn cache clean --mirror\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ccode>yarn cache clean --all\u003C\u002Fcode> 会同时删除当前项目的本地缓存。如果项目把 \u003Ccode>.yarn\u002Fcache\u003C\u002Fcode> 提交进了仓库（零安装），不要在这个项目里用 \u003Ccode>--all\u003C\u002Fcode>。\u003C\u002Fp>\n\u003Ch3 id=\"bun-corepack\">\u003Ca class=\"heading-anchor\" href=\"#bun-corepack\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Bun 和 Corepack\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\"># 显示 Bun 的全局缓存位置\nbun pm cache\n# 清空 Bun 的全局缓存\nbun pm cache rm\n# 删除 Corepack 下载的包管理器版本，下次使用时重新下载\nrm -rf ~\u002F.cache\u002Fnode\u002Fcorepack\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2 id=\"washbear\">\u003Ca class=\"heading-anchor\" href=\"#washbear\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>用浣熊管家清理\u003C\u002Fh2>\n\u003Cp>\u003Ca href=\"\u002Fdocs\u002Fdeep-clean\">深度清理\u003C\u002Fa>的 \u003Cstrong>标准扫描\u003C\u002Fstrong> 会检查这些缓存的默认位置，按所在目录分在两个类别中：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>开发工具\u003C\u002Fstrong>：\u003Cstrong>npm 下载缓存\u003C\u002Fstrong>、\u003Cstrong>npx 临时工具缓存\u003C\u002Fstrong>、\u003Cstrong>Bun 软件包缓存\u003C\u002Fstrong>。\u003C\u002Fli>\n\u003Cli>\u003Cstrong>用户缓存文件\u003C\u002Fstrong>：\u003Cstrong>pnpm 存储缓存\u003C\u002Fstrong>（包括存储和元数据缓存）、\u003Cstrong>Yarn 下载缓存\u003C\u002Fstrong>（Yarn 1 和 Yarn 2 及以上的全局缓存）、\u003Cstrong>node-gyp 构建缓存\u003C\u002Fstrong>，以及 Corepack、Electron 等下载的 \u003Cstrong>Node.js 工具链缓存\u003C\u002Fstrong>。这些条目涉及 \u003Ccode>~\u002FLibrary\u002FCaches\u003C\u002Fcode> 下的目录，所以归在这里。\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>智能推荐\u003C\u002Fstrong> 会预先勾选 npm、npx 和 node-gyp 这几项；pnpm 存储、Yarn、Bun 和 Node.js 工具链缓存需要你手动勾选。浣熊管家清理时会删除整个缓存或存储目录，效果相当于清空，而不是像 \u003Ccode>pnpm store prune\u003C\u002Fcode> 那样只删未被引用的包。如果你依赖 pnpm 的全局安装，或者有使用 PnP 的 Yarn 项目，请先读上面的注意事项，再决定要不要勾选。\u003C\u002Fp>\n\u003Cdiv class=\"callout callout-note\">\u003Cp class=\"callout-title\">说明\u003C\u002Fp>\u003Cp>浣熊管家只检查默认位置，改过路径的缓存和其他磁盘上的 pnpm 存储不会被找到。项目里的 \u003Ccode>node_modules\u003C\u002Fcode> 归在 \u003Cstrong>项目构建产物\u003C\u002Fstrong> 类别，不会被预先勾选。清理会直接删除，不进入废纸篓，结果记录在\u003Ca href=\"\u002Fdocs\u002Fgetting-started#history\">操作历史\u003C\u002Fa>中。\u003C\u002Fp>\n\u003C\u002Fdiv>\u003Cp>想看看这些缓存在你的 Mac 上有多大，可以\u003Ca href=\"\u002Fdownload\">下载浣熊管家\u003C\u002Fa>运行一次扫描，扫描本身不会删除任何内容。下面的演示窗口使用示例数据，其中的条目、类别和勾选状态仅作示意。\u003C\u002Fp>\n\u003C!--demo:deepClean-->\u003Ch2 id=\"faq\">\u003Ca class=\"heading-anchor\" href=\"#faq\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>常见问题\u003C\u002Fh2>\n\u003Ch3 id=\"faq-projects-still-run\">\u003Ca class=\"heading-anchor\" href=\"#faq-projects-still-run\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>清理缓存后，项目还能正常运行吗？\u003C\u002Fh3>\n\u003Cp>能。依赖已经安装在各项目的 \u003Ccode>node_modules\u003C\u002Fcode> 里，删除全局缓存不会改动它们，下次安装时多花点下载时间而已。例外是上面提到的 Yarn PnP 项目，以及依赖存储运行的 pnpm 全局工具。\u003C\u002Fp>\n\u003Ch3 id=\"faq-how-often\">\u003Ca class=\"heading-anchor\" href=\"#faq-how-often\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>多久清一次合适？\u003C\u002Fh3>\n\u003Cp>没有必要定期清空。磁盘紧张时清一次，或者每隔几个月运行一次 \u003Ccode>pnpm store prune\u003C\u002Fcode>、\u003Ccode>npm cache verify\u003C\u002Fcode> 就够了。\u003C\u002Fp>\n\u003Ch3 id=\"faq-space-not-freed\">\u003Ca class=\"heading-anchor\" href=\"#faq-space-not-freed\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>为什么删掉 pnpm 存储后，空间没有减少那么多？\u003C\u002Fh3>\n\u003Cp>因为还在使用的 \u003Ccode>node_modules\u003C\u002Fcode> 仍然引用同一批数据块。把不再使用的旧项目的 \u003Ccode>node_modules\u003C\u002Fcode> 一起清掉，这部分空间才会真正释放。\u003C\u002Fp>\n",[16,20,23,26,29,32,34,37,40,43,46,49,52],{"depth":17,"id":18,"text":19},2,"cache-vs-node-modules","缓存和 node_modules 不是一回事",{"depth":17,"id":21,"text":22},"cache-locations","缓存都放在哪里",{"depth":17,"id":24,"text":25},"before-you-clean","清理前要知道的几点",{"depth":17,"id":27,"text":28},"manual-cleanup","手动清理命令",{"depth":30,"id":31,"text":31},3,"npm",{"depth":30,"id":33,"text":33},"pnpm",{"depth":30,"id":35,"text":36},"yarn","Yarn",{"depth":30,"id":38,"text":39},"bun-corepack","Bun 和 Corepack",{"depth":17,"id":41,"text":42},"washbear","用浣熊管家清理",{"depth":17,"id":44,"text":45},"faq","常见问题",{"depth":30,"id":47,"text":48},"faq-projects-still-run","清理缓存后，项目还能正常运行吗？",{"depth":30,"id":50,"text":51},"faq-how-often","多久清一次合适？",{"depth":30,"id":53,"text":54},"faq-space-not-freed","为什么删掉 pnpm 存储后，空间没有减少那么多？","\n装的依赖越多，包管理器在你的用户目录里攒下的缓存就越大，几个 GB 到几十 GB 都很常见。这些缓存设计上就可以删除，删掉后最多是下次安装时重新下载；不过有几种情况，它们并不只是缓存。下面按 npm、pnpm、Yarn 逐个说明位置、命令和注意事项。\n\n## 缓存和 node_modules 不是一回事 {#cache-vs-node-modules}\n\n全局缓存是包管理器下载过的软件包的本地副本，所有项目共用，删除后不会改动项目文件。`node_modules` 是每个项目实际安装的依赖，删除后项目要重新安装才能运行。这篇文章讲前者；旧项目里的 `node_modules` 怎么批量清理，见[旧项目构建目录的批量清理](\u002Fblog\u002Fclean-project-build-artifacts)。\n\n## 缓存都放在哪里 {#cache-locations}\n\n| 工具 | macOS 上的默认位置 |\n| --- | --- |\n| npm | `~\u002F.npm\u002F_cacache`，npx 临时安装的工具在 `~\u002F.npm\u002F_npx` |\n| pnpm | 存储在 `~\u002FLibrary\u002Fpnpm\u002Fstore`，元数据缓存在 `~\u002FLibrary\u002FCaches\u002Fpnpm` |\n| Yarn 1 | `~\u002FLibrary\u002FCaches\u002FYarn` |\n| Yarn 2 及以上 | 默认启用全局缓存，位于 `~\u002F.yarn\u002Fberry\u002Fcache` |\n| Bun | `~\u002F.bun\u002Finstall\u002Fcache` |\n| Corepack | `~\u002F.cache\u002Fnode\u002Fcorepack` |\n\n如果你改过配置，以各工具命令报告的位置为准，下文会给出查看方法。\n\n## 清理前要知道的几点 {#before-you-clean}\n\n- **会重新下载**：清掉缓存后，下次安装要重新从网络获取。离线开发、网络慢或者依赖私有源的场景，清理前先想好。\n- **pnpm 的空间是共享的**：在 APFS 磁盘上，pnpm 默认用写时复制的克隆把存储里的文件放进项目，项目的 `node_modules` 和存储共用同一批数据块。只删其中一边，实际释放的空间都可能小于显示的大小。\n- **全局安装可能依赖存储**：按 pnpm 文档，较新版本中用 `pnpm add -g` 安装的全局包默认通过存储目录下的 `links` 运行，整个删掉存储后要重新安装这些全局工具。Bun 的 `globalStore`（默认关闭）开启后也一样，相关项目需要重新运行 `bun install`。\n- **Yarn PnP 项目直接读缓存**：使用 Plug'n'Play 的 Yarn 项目没有 `node_modules`，依赖就是缓存里的 zip 文件。清掉缓存后，要先运行 `yarn install` 才能启动项目。\n\n## 手动清理命令 {#manual-cleanup}\n\n### npm {#npm}\n\n```bash\n# 查看缓存根目录，默认是 ~\u002F.npm\nnpm config get cache\ndu -sh ~\u002F.npm\u002F_cacache ~\u002F.npm\u002F_npx\n# 校验缓存并回收无用数据，不会清空\nnpm cache verify\n# 清空下载缓存 _cacache，项目里的 node_modules 不受影响\nnpm cache clean --force\n# 删除 npx 临时安装的工具，下次运行时会重新下载\nrm -rf ~\u002F.npm\u002F_npx\n```\n\nnpm 的缓存会自我修复，[官方文档](https:\u002F\u002Fdocs.npmjs.com\u002Fcli\u002Fv11\u002Fcommands\u002Fnpm-cache)明确说，除了腾出磁盘空间，没有必要清空它。遇到安装报错时，先试 `npm cache verify`。\n\n### pnpm {#pnpm}\n\n```bash\n# 查看当前存储位置，例如 ~\u002FLibrary\u002Fpnpm\u002Fstore\u002Fv10\npnpm store path\ndu -sh \"$(pnpm store path)\"\n# 只删除没有任何项目引用的包\npnpm store prune\n# 元数据缓存可以直接删除，pnpm 会按需重新下载\nrm -rf ~\u002FLibrary\u002FCaches\u002Fpnpm\n```\n\n[pnpm 文档](https:\u002F\u002Fpnpm.io\u002Fcli\u002Fstore)说明，`pnpm store prune` 不会影响你的项目，建议偶尔运行、不要太频繁，因为刚删掉的包可能很快又要用到。pnpm 每块磁盘使用一个存储：项目放在外接磁盘上时，存储通常在那块磁盘根目录的 `.pnpm-store`，在该项目里运行 `pnpm store path` 就能看到。\n\n### Yarn {#yarn}\n\nYarn 1 和 Yarn 2 及以上的命令不同，先用 `yarn --version` 确认当前目录下生效的版本。\n\n```bash\n# Yarn 1：查看并清空全局缓存\nyarn cache dir\nyarn cache clean\n# Yarn 2 及以上：在使用该版本的项目目录中运行，只清空全局缓存\nyarn cache clean --mirror\n```\n\n`yarn cache clean --all` 会同时删除当前项目的本地缓存。如果项目把 `.yarn\u002Fcache` 提交进了仓库（零安装），不要在这个项目里用 `--all`。\n\n### Bun 和 Corepack {#bun-corepack}\n\n```bash\n# 显示 Bun 的全局缓存位置\nbun pm cache\n# 清空 Bun 的全局缓存\nbun pm cache rm\n# 删除 Corepack 下载的包管理器版本，下次使用时重新下载\nrm -rf ~\u002F.cache\u002Fnode\u002Fcorepack\n```\n\n## 用浣熊管家清理 {#washbear}\n\n[深度清理](\u002Fdocs\u002Fdeep-clean)的 **标准扫描** 会检查这些缓存的默认位置，按所在目录分在两个类别中：\n\n- **开发工具**：**npm 下载缓存**、**npx 临时工具缓存**、**Bun 软件包缓存**。\n- **用户缓存文件**：**pnpm 存储缓存**（包括存储和元数据缓存）、**Yarn 下载缓存**（Yarn 1 和 Yarn 2 及以上的全局缓存）、**node-gyp 构建缓存**，以及 Corepack、Electron 等下载的 **Node.js 工具链缓存**。这些条目涉及 `~\u002FLibrary\u002FCaches` 下的目录，所以归在这里。\n\n**智能推荐** 会预先勾选 npm、npx 和 node-gyp 这几项；pnpm 存储、Yarn、Bun 和 Node.js 工具链缓存需要你手动勾选。浣熊管家清理时会删除整个缓存或存储目录，效果相当于清空，而不是像 `pnpm store prune` 那样只删未被引用的包。如果你依赖 pnpm 的全局安装，或者有使用 PnP 的 Yarn 项目，请先读上面的注意事项，再决定要不要勾选。\n\n> [!NOTE]\n> 浣熊管家只检查默认位置，改过路径的缓存和其他磁盘上的 pnpm 存储不会被找到。项目里的 `node_modules` 归在 **项目构建产物** 类别，不会被预先勾选。清理会直接删除，不进入废纸篓，结果记录在[操作历史](\u002Fdocs\u002Fgetting-started#history)中。\n\n想看看这些缓存在你的 Mac 上有多大，可以[下载浣熊管家](\u002Fdownload)运行一次扫描，扫描本身不会删除任何内容。下面的演示窗口使用示例数据，其中的条目、类别和勾选状态仅作示意。\n\n::demo deepClean\n\n## 常见问题 {#faq}\n\n### 清理缓存后，项目还能正常运行吗？ {#faq-projects-still-run}\n\n能。依赖已经安装在各项目的 `node_modules` 里，删除全局缓存不会改动它们，下次安装时多花点下载时间而已。例外是上面提到的 Yarn PnP 项目，以及依赖存储运行的 pnpm 全局工具。\n\n### 多久清一次合适？ {#faq-how-often}\n\n没有必要定期清空。磁盘紧张时清一次，或者每隔几个月运行一次 `pnpm store prune`、`npm cache verify` 就够了。\n\n### 为什么删掉 pnpm 存储后，空间没有减少那么多？ {#faq-space-not-freed}\n\n因为还在使用的 `node_modules` 仍然引用同一批数据块。把不再使用的旧项目的 `node_modules` 一起清掉，这部分空间才会真正释放。\n",1793257450423]