pnpm 教程
基础
安装
# windows - powershell
iwr https://get.pnpm.io/install.ps1 -useb | iex
# linux
wget -qO- https://get.pnpm.io/install.sh | ENV="$HOME/.bashrc" SHELL="$(which bash)" bash -
换源
pnpm get registry
pnpm config set registry https://registry.npmmirror.com
pnpm config set registry https://registry.npmjs.org
代理
pnpm config set proxy http://127.0.0.1:7890
pnpm config set https-proxy http://127.0.0.1:7890
pnpm config delete proxy
pnpm config delete https-proxy
命令
模块相关命令
# 全局模块列表
pnpm --global list
# 该目录下模块列表
pnpm list
# 该目录下 dependencies 模块列表
pnpm --prod list
# 该目录下 devDependencies 模块列表
pnpm --dev list
# 根据 package.json 安装
pnpm install
# 安装至 global
pnpm add --global packageName
# 安装至 dependencies
pnpm add packageName
pnpm add --save-prod packageName
# 安装至 devDependencies
pnpm add --save-dev packageName
# 卸载命令, 同安装命令, add 换成 remove
项目相关命令
# 运行命令, run 可以省略
pnpm run cmd
原理
- 硬链接:基于硬链接共享依赖包,节省硬盘空间;
- 冗余移除:自动移除不需要的依赖包;
- 压缩存储:基于 CAS (内容可寻址存储) 存储依赖包;
- 依赖包进行哈希操作,用于共享,缓存;
- 并行安装:加快安装速度;
- 锁定文件:使用 lockfile 锁定依赖关系和版本信息;