storage-analyzer: pnpm store 被错误标记为可直接删除,会导致所有项目依赖断裂
Author: jinzheioCreated Jun 2, 2026Updated Jun 2, 2026
问题
storage-analyzer/SKILL.md 中,pnpm store(~/Library/pnpm/store)被放在 可自动清理级别,并提供了 rm -rf ~/Library/pnpm/store 的删除命令。
但这实际上是不安全的。
原因
pnpm store 不是普通的"下载缓存"(如 npm _cacache 或 uv cache),而是所有项目 node_modules 的硬链接源。
- pnpm 安装依赖时,
node_modules里的包是硬链接到全局 store 的 - 如果直接
rm -rf ~/Library/pnpm/store,所有项目的node_modules会全部变成死链接 - 结果是:所有基于 pnpm 的项目当场无法运行,必须逐一重新
pnpm install
建议修复
- 不要提供
rm -rf整个 store 的命令,也不要把整个 store 路径放进trash_paths(避免网页一键删除按钮误触) - 唯一安全的清理方式是
pnpm store prune,它只删除未被任何项目引用的包 - 如果要在网页上提供删除按钮,只放 store 内明确安全的子目录(如
.tools、global)
对比:其他包管理器的缓存性质
| 工具 | 路径 | 性质 | 直接删除是否安全 |
|---|---|---|---|
| npm | ~/.npm/_cacache |
副本缓存 | ✅ 安全 |
| uv | ~/.cache/uv |
副本缓存 | ✅ 安全 |
| pnpm | ~/Library/pnpm/store |
硬链接源 | ❌ 危险 |
环境
- macOS (Apple Silicon)
- pnpm 9.x
- storage-analyzer 当前 main 分支
Source: KKKKhazix/khazix-skills