pnpm store path
pnpm store status
pnpm store prune
du -sh ~/.pnpm-store

笔记本磁盘报警,du 显示 ~/.pnpm-store 40G,三个前端仓库的 node_modules 加起来还有 12G,pnpm store status 报出上千个未引用包。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。

原因不复杂,store 只做内容寻址,硬链接指向项目,项目删了或者换了盘,链接失效后包体会重新复制一份。store 里长期不清理的旧版本按版本号各存一份,体积只增不减。

围绕「pnpm store 占磁盘」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。

接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。偶发问题先统计频率,一小时几次和一天一次,查法完全不同。

处理上按这个顺序:用 pnpm store path 确认 store 和项目是否在同一块盘;跨盘时把 store 指到项目所在盘 硬链接才生效;跑 pnpm store prune 清掉没有项目引用的包;用 pnpm store status 定期看有多少包脱离了链接。

改完只确认一件事:store 体积降到 10G 以内 项目 node_modules 里 inode 链接数大于 1 的文件占多数。

作者 9823189