在冷安装(无缓存)场景下,pnpm 通常比 npm 快 2~3 倍,与 Yarn Berry(v4)处于同一梯队。Yarn Classic 的安装速度与 npm 接近,而 Yarn Berry 的 Plug'n'Play(PnP)模式因无需生成 node_modules 目录,在大型项目中的冷安装速度略优于 pnpm。在热安装(有缓存)场景下,pnpm 凭借硬链接机制通常表现最佳。
pnpm 的磁盘效率显著优于 Yarn。Yarn Classic 与 npm 类似,采用扁平化复制策略,磁盘占用与 npm 基本持平。Yarn Berry 的 PnP 模式将依赖打包为 zip 存档,磁盘占用极低(接近 0,因为不展开 node_modules),但需将存档提交到版本控制或维护全局缓存。pnpm 通过内容寻址存储与硬链接,在保持传统 node_modules 结构的同时实现 50%~75% 的磁盘节省,且无需改变工具链的工作方式。
pnpm 的 node_modules 结构对现有工具链的兼容性较好,大多数项目可无缝迁移。Yarn Berry 的 PnP 模式需要工具链显式支持(如通过 .pnp.cjs 文件解析模块),部分遗留工具存在兼容问题,迁移成本较高。若团队已深度使用 Yarn 且对 PnP 的零安装、严格约束等特性有需求,可继续使用 Yarn Berry;若追求磁盘效率和更平滑的迁移体验,pnpm 是更优选择。