pnpm使用
大约 2 分钟
pnpm使用
什么是pnpm
pnpm是 Node.js 的替代包管理器。它是 npm 的直接替代品,但速度更快、效率更高。
为什么效率更高?当您安装软件包时,我们会将其保存在您机器上的全局存储中,然后我们会从中创建一个硬链接,而不是进行复制。对于模块的每个版本,磁盘上只保留一个副本。例如,当使用 npm 或 yarn 时,如果您有 100 个使用 lodash 的包,则磁盘上将有 100 个 lodash 副本。pnpm 可让您节省数 GB 的磁盘空间!
pnpm优势
pnpm 拥有 Yarn 超过 npm 的所有附加功能:
- 安全: 与 yarn 一样,pnpm 有一个包含所有已安装包校验和的特殊文件,用于在执行代码之前验证每个已安装包的完整性。
- 离线模式: pnpm 将所有下载的包 tarball 保存在本地注册表镜像中。当包在本地可用时,它从不发出请求。使用该--offline参数可以完全禁止 HTTP 请求。
- 速度: pnpm 不仅比 npm 快,而且比 yarn 快。无论是冷缓存还是热缓存,它都比 yarn 快。yarn 从缓存中复制文件,而 pnpm 只是从全局存储中链接它们。
pnpm安装
npm install -g pnpm //通过 npm 安装
npx pnpm add -g pnpm //通过 npx 安装
设置源
pnpm config get registry //查看源
pnpm config set registry https://registry.npmmirror.com //切换淘宝源
添加包
pnpm add [package] //保存到依赖项
pnpm add -D [package] //保存到devDependencies
pnpm add -O [package] //保存到optionalDependencies
pnpm add [package]@3.0.0 //安装指定依赖
移除包
pnpm remove [package] //移除包
pnpm remove [package] --global //移除全局包
更新包
pnpm up //更新所有依赖项,遵守package.json中指定的范围
pnpm up --latest //最新更新所有依赖项,忽略package.json中指定的范围
设置存储路径
pnpm config set store-dir /path/to/.pnpm-store