这是一份 pnpm
软件包管理器备忘单,其中列出了 pnpm
常用命令使用清单。
入门
pnpm 与 npm 命令比较
npm |
pnpm |
说明 |
npm install |
pnpm install |
安装依赖 |
npm init |
pnpm init |
创建 package.json 文件 |
npm install <package> |
pnpm add <package> |
安装包 |
npm install -g <package> |
pnpm add -g <package> |
全局安装包 |
npm update |
pnpm update |
更新包 |
npm cache clean |
pnpm cache clean |
清理缓存 |
参考 npm 备忘清单
pnpm list
1 2 3 4 5 6
| # 列出所有已安装的包 pnpm list # 列出全局安装的包 pnpm list -g # 查找过时的包 pnpm outdated
|
pnpm why
1 2
| # 显示为什么安装了某个包 pnpm why <package>
|
pnpm install
pnpm |
说明 |
--no-lockfile |
不生成 pnpm-lock.yaml 锁定文件 |
--force |
强制覆盖现有的 node_modules |
--frozen-lockfile |
忽略 pnpm-lock.yaml 中的更改 |
--offline |
离线模式,不尝试从远程仓库安装包 |
--shamefully-hoist |
类似于 npm 的 hoist 行为 |
--strict-peer-dependencies |
严格检查 peer dependencies |
这些选项可用于 pnpm install
。
pnpm add
pnpm |
说明 |
--save |
将包添加到 dependencies |
--save-dev |
将包添加到 devDependencies |
--global |
全局安装包 |
--exact |
安装精确版本号的包 |
--shamefully-hoist |
类似于 npm 的 hoist 行为 |
--strict-peer-dependencies |
严格检查 peer dependencies |
这些选项可用于 pnpm add
。
pnpm update
1 2 3 4 5 6
| # 更新所有包 pnpm update # 更新特定包 pnpm update <package> # 更新到最新版本(包括 major 版本) pnpm update --latest
|
pnpm remove
1 2 3 4 5 6
| # 从依赖中删除包 pnpm remove <package> # 删除全局依赖包 pnpm remove -g create-react-app # 删除特定版本的依赖包 pnpm remove lodash@4.17.21
|
pnpm cache
1 2 3 4
| # 清理 pnpm 缓存 pnpm cache clean # 查看缓存中所有的包 pnpm cache list
|
示例
安装包
1 2 3 4 5 6 7 8 9 10
| pnpm add <package>
pnpm add -D <package>
pnpm add --exact <package>
pnpm add -g <package>
pnpm add <package>@<version>
|
移除包
1 2 3 4 5 6 7
| pnpm remove <package>
pnpm remove lodash express
pnpm remove -g create-react-app
pnpm remove lodash@4.17.21
|
查看包
1 2 3 4 5 6 7 8
| pnpm list
pnpm list --depth 0
pnpm list -g
pnpm list --pattern "lodash" --depth 1
|
清除
1 2 3 4
| pnpm prune
pnpm outdated
|
信息
清理缓存
此外,您可以指定一个或多个要清理的包。
Monorepo
创建 Monorepo 工作区
添加包到 Monorepo 工作区
运行脚本
1 2 3 4 5 6
| pnpm -r run <script>
pnpm --filter <package> run <script>
pnpm --filter <package>... run <script>
|
添加工作区范围的依赖
1 2 3 4
| pnpm add <package> -w
pnpm add -D <package> -w
|
创建新的包
在 packages
目录中创建新的包,例如:
1 2 3
| mkdir packages/new-package cd packages/new-package pnpm init
|
链接本地包
1 2 3 4
| pnpm link <local-package-path>
pnpm add <local-package-name> --workspace
|
高级用法
工作区
1 2 3 4
| pnpm init -w
pnpm add <package> -w
|
链接
1 2 3 4
| pnpm link <package>
pnpm link --global <package>
|
运行脚本
1 2 3 4
| pnpm run <script>
pnpm run -w <script>
|
另见