Pnpm代表performant npm(高性能的npm),同npm和Yarn,都属于JavaScript包管理安装工具,它较npm和Yarn在性能上得到很大提升,被称为快速的,节省磁盘空间的包管理工具。
安装
可以通过npm安装
$ npm i pnpm -g
验证是否安装成功并查看已安装 pnpm 的版本
$ pnpm -v
环境变量
在 pnpm 安装完成后,由于特有的模块管理方式,依赖项模块及相关信息默认安装生成在系统盘 C:\Users\<UserName>\AppData\Local 文件夹内,并且使用默认配置无法直接安装全局依赖项。
需要使用自动或手动配置环境变量才可以正常使用。
自动配置
直接运行以下命令,运行pnpm 的独立安装脚本
$ pnpm setup
输出以下信息
Next configuration changes were made:
PNPM_HOME=C:\Users\<UserName>\AppData\Local\pnpm
Path=%PNPM_HOME%;....;
Setup complete. Open a new terminal to start using pnpm.
自动配置环境变量的效果是,全局依赖项安装在系统盘内,工作区依赖项安装在同一磁盘内。
由于默认环境变量配置使用不方便,需要进行一般需要手动配置修改。
手动配置
pnpm 沿用 npm 的配置格式,并通用~/.npmrc的配置方式。
定义目录
在.npmrc 文件中补充以下配置,将当前系统项目中所有使用的依赖项、缓存、模块使用记录等统一更新至非系统盘文件夹内。
以E 盘为例,以下配置均可使用pnpm config set 进行配置。
global-dir=E:\.pnpm-store\global
global-bin-dir=E:\.pnpm-store\bin
store-dir=E:\.pnpm-store\store
state-dir=E:\.pnpm-store\state
cache-dir=E:\.pnpm-store\cache
其中,各配置含义如下
global-dir:全局依赖项安装目录global-bin-dir:全局依赖项bin文件安装目录store-dir:项目依赖项安装目录state-dir:配置当前仅由更新检查器使用的pnpm-state.json文件的目录cache-dir:缓存存储目录
配置 pnpm 环境变量
-
借助
pnpm setup命令快速生成环境变量基础配置 -
调用系统环境变量配置修改自定义值,启动方式是:
win+s快捷键 ⇒ 搜索编辑系统环境变量⇒ 选择环境变量 -
设置
PNPM_HOME用户变量映射,对应值为.npmrc中的global-bin-dir目录地址:PNPM_HOME: E:.pnpm-store\bin
-
补充设置系统的
Path变量,添加%PNPM_HOME%值Path: %PNPM_HOME%;....;
基本使用方式
-
项目初始化,生成
package.json文件$ pnpm init
-
安装依赖
pnpm i [pkg]
-
运行
package.json中定义的scripts脚本,启动服务即可$ pnpm run xxx
cli命令
管理依赖
安装依赖包
-
安装为生产依赖项
$ pnpm add
-
安装为开发依赖项
$ pnpm add -D
-
安装为可选依赖项
$ pnpm add -O
-
安装为全局依赖项
$ pnpm add -g
安装项目全部依赖
依据 package.json 配置安装所有项目依赖
$ pnpm i
删除依赖项
从 node_modules 和项目的 package.json 中删除相关 packages
$ pnpm remove <pkg>
从依赖项统一安装目录中移除当前项目不需要的packages
$ pnpm prune
查看依赖
查看本地已安装依赖
$ pnpm list
查看全局已安装依赖
$ pnpm list -g
脚本
pnpm 处理 package.json 的 scripts 字段与 npm 相同。
运行脚本
运行一个在 package.json 文件中 scripts 定义的脚本
$ pnpm run xxx
创建项目
从 create-* 或 @pkg/create-* 启动套件创建项目
$ pnpm create <pkg-app>