website

pnpm Docs

所属分类:开发者在线工具箱

pnpm 的安装速度、磁盘占用与 monorepo 功能官方说明

pnpm 是一个 Node.js 包管理器,官网说明它能加快依赖安装、节省磁盘空间,并为 monorepo 提供工作区与按项目过滤任务等功能。官网还提供基准测试页,列出它与 npm 在不同安装场景下的耗时。正在评估是否替换或迁移的读者,可以先从这两部分入手。

pnpm:用更快、更省磁盘的方式管理 Node.js 依赖与 monorepo

发布于 2026年10月18日更新于 2026年10月29日

与 npm 的关系

首页称 pnpm 是 npm 的直接替代品(drop-in replacement),并在此基础上提供大型仓库常用的功能。首页的功能说明依次介绍快速安装、节省磁盘空间、工作区支持和 Catalogs(集中定义依赖版本)。首页顶部的提示条为 What’s different in pnpm 12。

pnpm 官网首页,首屏标题为 Save time. Save disk space. Supercharge your monorepos.,左侧为安装命令和 Getting started 按钮,右侧为终端示意图

截图中 GitHub 星标数为 33,400,截至 2026 年 10 月为 36,953。

节省磁盘的方式

首页说明,项目 node_modules 中的文件从一个内容寻址的存储中以硬链接的方式取得,同一版本的包即使被多个项目使用,在磁盘上也只保留一份副本。

安装速度与基准页

基准页的 Install Speed 部分用 alotta-files 与 alotta-packages 两个项目,比较 npm、pnpm 11 以及多种 pnpm 12 配置的耗时。测试场景包括全新克隆、有锁文件、有缓存、缓存加锁文件、无改动重新安装和依赖更新。页面标注数据来自 2026 年 10 月 28 日的抓取。以 alotta-files 项目为例,全新克隆场景中 npm 耗时 46.0 秒,pnpm 12 为 4.58 秒;无改动重新安装的场景中,npm 为 1.06 秒,pnpm 12 为 18 毫秒。

pnpm 基准测试页的 Install Speed 部分,列出 npm、pnpm 11 与 pnpm 12 等工具,并可选择 alotta-files 与 alotta-packages 两个项目

截图中的数据采集于 2026 年 10 月 15 日,pnpm 12 为 12.13.0 版本;截至 2026 年 10 月,官网显示的是 10 月 28 日采集的数据,pnpm 12 为 12.16.0 版本。

基准页的其他内容

基准页左侧还列出 Node.js 版本管理(比较 fnm 与 nvm)、测试方法、功能对照、全局虚拟存储(Global virtual store)以及 pnpr 注册表服务器等页面。读者若只想了解安装速度,可以只看 Install Speed 部分的场景说明。