pnpm 是一个流行的 JavaScript 包管理器,类似于 npm 和 yarn。它是 performant npm 的缩写,意在表明它是一个更高效的 npm 替代品。pnpm 的主要特点和优势包括:
- 高效的存储空间使用
pnpm 使用称为“内容寻址存储”的机制来存储 npm 包。这意味着即使多个项目使用相同的包,该包在磁盘上只存储一次。这与 npm 和 yarn 不同,后者会在每个项目的 node_modules 目录中分别存储一份副本。 - 更快的安装速度
由于其存储机制的高效性,pnpm 在安装包时通常比 npm 和 yarn 更快。 - 严格的依赖处理
pnpm 创建一个严格的 node_modules 目录,确保项目不会意外地访问未声明的包。这与传统的 npm 和 yarn 处理依赖的方式不同,有助于避免隐藏的依赖问题。 - 工作区支持
pnpm 原生支持多包仓库(monorepos),这是在单个仓库中管理多个包的一种方法,类似于 yarn workspaces。 - 节省 CI/CD 时间
在持续集成/持续部署(CI/CD)管道中,pnpm 可以节省时间,因为它可以更快地安装依赖项,并且更有效地利用缓存。
要开始使用 pnpm,你可以在终端中运行以下命令来安装它:
npm install -g pnpm
安装后,你可以在项目中使用 pnpm 命令来代替 npm 命令,例如使用 pnpm install 替代 npm install。对于已经熟悉 npm 或 yarn 的用户来说,pnpm 的使用方式非常直观且容易上手。