简介
pnpm 全称 performant npm,意思为 高性能的 npm。pnpm 由 npm/yarn 衍生而来,解决了 npm/yarn 内部潜在的 bug,极大的优化了性能,扩展了使用场景。被誉为 最先进的包管理工具。
特点
速度快、节约磁盘空间、支持 monorepo、安全性高。
pnpm 相比较于 yarn/npm 这两个常用的包管理工具在性能上也有了极大的提升,根据目前官方提供的 benchmark 数据可以看出在一些综合场景下比 npm/yarn 快了大概两倍。
兼容性
以下列表列出了以往的 pnpm 版本和对应支持的 Node.js 版本。
Node.js | pnpm 5 | pnpm 6 | pnpm 7 | pnpm 8 |
---|---|---|---|---|
Node.js 12 | ✔️ | ✔️ | ❌ | ❌ |
Node.js 14 | ✔️ | ✔️ | ✔️ | ❌ |
Node.js 16 | ?️ | ✔️ | ✔️ | ✔️ |
Node.js 18 | ?️ | ✔️ | ✔️ | ✔️ |
安装
通过 npm 安装
$ npm install -g pnpm
使用 HomeBrew
$ brew install pnpm
安装完成后,配置镜像
# 获取当前配置的镜像地址
$ pnpm get registry
# 设置新的镜像地址
$ pnpm set registry https://registry.npmmirror.com
(可选)修改默认安装包的仓库位置
$ pnpm config set store-dir D:/xxx
如果未配置任何仓库位置,则 pnpm 将在同一硬盘上自动创建一个存储。
使用
常用命令对比
npm 命令 | pnpm 等价命令 |
---|---|
$ npm install | $ pnpm install 安装全部依赖 |
$ npm install 包名 | $ pnpm add (-D) 包名 安装指定包 |
$ npm uninstall 包名 | $ pnpm remove 包名 移除指定包 |
$ npm run 脚本 | $ pnpm 脚本 运行脚本 |
升级版本
$ pnpm add -g pnpm to update
分享笔记