Files
2026-07-13 21:35:53 +08:00

3.4 KiB
Raw Permalink Blame History

name, description
name description
pnpm-cli-commands 用于包管理、运行脚本及工作区操作的核心 pnpm 命令

pnpm CLI 命令

pnpm 提供了一套功能全面的 CLI,用于包管理,其命令与 npm/yarn 类似,但拥有独特的功能。

安装命令

安装所有依赖

pnpm install
# 或
pnpm i

添加依赖

# 生产依赖
pnpm add <pkg>

# 开发依赖
pnpm add -D <pkg>
pnpm add --save-dev <pkg>

# 可选依赖
pnpm add -O <pkg>

# 全局包
pnpm add -g <pkg>

# 指定版本
pnpm add <pkg>@<version>
pnpm add <pkg>@next
pnpm add <pkg>@^1.0.0

移除依赖

pnpm remove <pkg>
pnpm rm <pkg>
pnpm uninstall <pkg>
pnpm un <pkg>

更新依赖

# 更新全部
pnpm update
pnpm up

# 更新指定包
pnpm update <pkg>

# 更新到最新版(忽略 semver
pnpm update --latest
pnpm up -L

# 交互式更新
pnpm update --interactive
pnpm up -i

脚本命令

运行脚本

pnpm run <script>
# 或简写
pnpm <script>

# 向脚本传递参数
pnpm run build -- --watch

# 若脚本存在则运行(缺失时不报错)
pnpm run --if-present build

执行二进制文件

# 运行本地二进制文件
pnpm exec <command>

# 示例
pnpm exec eslint .

dlx —— 无需安装直接运行

# 类似于 npx,但专为 pnpm 设计
pnpm dlx <pkg>

# 示例
pnpm dlx create-vite my-app
pnpm dlx degit user/repo my-project

工作区命令

在所有包中运行

# 在所有工作区包中运行脚本
pnpm -r run <script>
pnpm --recursive run <script>

# 在指定包中运行
pnpm --filter <pattern> run <script>

# 示例
pnpm --filter "./packages/**" run build
pnpm --filter "!./packages/internal/**" run test
pnpm --filter "@myorg/*" run lint

过滤模式

# 按包名过滤
pnpm --filter <pkg-name> <command>
pnpm --filter "@scope/pkg" build

# 按目录过滤
pnpm --filter "./packages/core" test

# 某个包的依赖项
pnpm --filter "...@scope/app" build

# 某个包的上游依赖方
pnpm --filter "@scope/core..." test

# 自指定提交/分支以来发生变更的包
pnpm --filter "...[origin/main]" build

其他实用命令

链接包

# 链接全局包
pnpm link --global
pnpm link -g

# 使用已链接的包
pnpm link --global <pkg>

打补丁

# 为某个包创建补丁
pnpm patch <pkg>@<version>

# 编辑后提交补丁
pnpm patch-commit <path>

# 移除补丁
pnpm patch-remove <pkg>

存储管理

# 显示存储路径
pnpm store path

# 移除未引用的包
pnpm store prune

# 检查存储完整性
pnpm store status

其他命令

# 干净安装(类似 npm ci
pnpm install --frozen-lockfile

# 列出已安装的包
pnpm list
pnpm ls

# 为什么安装了这个包?
pnpm why <pkg>

# 过时的包
pnpm outdated

# 安全漏洞审计
pnpm audit

# 重新构建原生模块
pnpm rebuild

# 从 npm/yarn lock 文件导入
pnpm import

# 创建 tarball
pnpm pack

# 发布包
pnpm publish

常用标志

# 忽略脚本
pnpm install --ignore-scripts

# 优先使用离线缓存
pnpm install --prefer-offline

# 严格的 peer 依赖检查
pnpm install --strict-peer-dependencies

# 仅安装生产依赖
pnpm install --prod
pnpm install -P

# 不安装可选依赖
pnpm install --no-optional