有两个优势
- 硬链接组织依赖,可以节省磁盘空间
- node_modules非扁平,避免使用非直接依赖
与 npm 的差异
与 npm 不同,pnpm 会验证所有参数。例如,pnpm install --target_arch x64 将运行 失败,由于 --target_arch 不是一个有效的 pnpm install 参数。
文档
官方中文文档:https://www.pnpm.cn/
基础用法
推荐Node.js版本16.13.1 兼容Windows 10、macOS with M1 chip、CentOS 7
全局安装npm i -g pnpm
根据package.json文件安装所有依赖,pnpm i
新增项目依赖pnpm add <packageName> 新增开发依赖pnpm add -D <packageName>
执行package.json中scripts字段的脚本pnpm <cmd>
查看registrypnpm config get registry
pnpm registry配置是从npm上读来的,因此将npm的registry改了之后,pnpm的registry也同步更改了
设置只使用pnpm安装依赖包
json
{
"name": "pnpm-test",
"version": "1.0.0",
"private": true,
"scripts": {
"preinstall": "npx only-allow pnpm",
},
"engines": {
"node": ">= 16.13.1",
"pnpm": ">= 7.18.1"
}
}查看有哪些依赖包可以更新,并列出对应的版本号pnpm outdated
查看pnpm仓库路径pnpm store path