pnpm
pnpm 9+pnpm 快速参考:install / add / remove / update、脚本、工作区、store 与缓存、配置——针对 GitHub 站点的 pnpm 仓库工作流,并附带常用参数和实操示例。
31 条命令
安装与管理
pnpm install安装 package.json 中声明的全部依赖,并按需更新 lockfile。
--frozen-lockfile(本仓库 CI 默认);--prod;--offline;--ignore-scripts;--shamefully-hoist;--strict-peer-dependencies=false;--prefer-offline
pnpm install --frozen-lockfilepnpm add <pkg>添加一个运行时依赖并写入 package.json。
-D / --save-dev;-E / --save-exact;-O / --save-optional;-P / --save-prod;-g 全局;--workspace-root 安装到工作区根
pnpm add -D vitest @types/nodepnpm add -g <pkg>全局安装一个工具(如 TypeScript、ESLint、tsx),加入 PATH。
-g;--global-prefix;--reporter append|ndjson
pnpm add -g typescript tsxpnpm remove <pkg>从项目与 lockfile 中移除一个依赖。
-D 从 devDependencies 中移除;-g 从全局移除;--filter 仅从某个工作区中移除
pnpm remove lodash && pnpm remove -F web -D @types/jestpnpm update / pnpm update -L在 semver 范围内更新依赖;-L / --latest 升级到最新版本。
-L / --latest;-i / --interactive;--workspace-root;--filter
pnpm update -i vue && pnpm update -L @nuxt/i18npnpm outdated展示过期包及其 current / wanted / latest 版本。
--long;--recursive / -r;--filter
pnpm outdated -r --longpnpm list列出已安装的包及其依赖关系树。
--depth 0 仅直接依赖;--prod / --dev;-r 递归;--json | jq
pnpm list --depth 0 --prod | head -20pnpm audit / pnpm audit --fix对 lockfile 执行 npm 风格的安全公告检查。
--prod 仅生产;--json
pnpm audit --json | jq '.metadata.vulnerabilities'pnpm dedupe在可行的情况下将依赖提升到同一版本,从而裁剪 lockfile 与依赖树。
--check;--strict-peer-dependencies=false
pnpm dedupe --checkpnpm rebuild重新构建 native 依赖(Node 版本升级后或包发布后)。
--reporter;--recursive;--filter
pnpm rebuild -r && pnpm rebuild esbuildpnpm approve-builds为 native 包(如 esbuild、sharp、@swc/core)批准其 build 脚本。
交互式提示;也可在 package.json#pnpm.onlyBuiltDependencies 中设置
pnpm approve-builds --yes esbuild @parcel/watcherpnpm import将已有的 package-lock.json / yarn.lock 导入到 pnpm-lock.yaml。
import;无其他参数
pnpm import --no-lockfile运行与开发体验
pnpm run <script>执行 package.json#scripts 中定义的脚本。
-r / --recursive 对所有包运行;--filter / -F 仅针对某个包;--parallel;--no-color
pnpm run dev && pnpm -F src/www run buildpnpm dlx <pkg>从 registry 拉取一个包并直接运行其二进制,无需永久安装。
dlx pkg args;--package 额外包;--silent
pnpm dlx create-vite@latest my-app --template vue-ts && pnpm dlx vitest --runpnpm exec <cmd>在项目上下文中执行命令(PATH 已包含 .node_modules/.bin)。
exec ...;--filter 目标工作区;--recursive;--parallel
pnpm exec vitest run && pnpm exec -- tsc --noEmit -p src/www/tsconfig.jsonpnpm create <name>基于 create-* 风格的包脚手架化一个新项目。
create [name] [args];-y / --yes
pnpm create nuxt my-app && cd my-app && pnpm install工作区
pnpm -r <cmd>递归——对工作区中的每个包执行 pnpm 操作。
-r run build;--parallel;--topology 拓扑排序;--order
pnpm -r --filter "./packages/**" run build --silentpnpm --filter <pkg>按包名、目录、glob 或相对路径定位单个包。
--filter pkg | --filter ./packages/foo | --filter {pkg} 仅严格匹配包名;-F 别名
pnpm --filter trowsoft-pdf-merge run build && pnpm -F "./packages/tools/*" outdatedpnpm add ... -w / --workspace-root在工作区根添加一个提升的、可被所有包共用的 dev 依赖。
-w / --workspace-root;-D 加入 devDependencies
pnpm add -Dw typescriptStore 与缓存
pnpm store path打印 pnpm 内容寻址 store 的位置(跨项目去重)。
store path;--virtual-store-dir DIR
pnpm store path && du -sh $(pnpm store path)pnpm store prune从 store 中移除不再被引用的包(节省磁盘空间)。
store prune;--force 跳过确认
pnpm store prunepnpm cache list / cache delete列出或删除 pnpm 元数据缓存中的条目。
cache list;cache delete <pkg>@<ver>;--registry
pnpm cache list vitest@latest配置与信息
pnpm config get|set <key> [value]读写用户级 / 全局 / store / 项目级的 pnpm 配置。
config get key;config set key val;--location project|user|global
pnpm config set registry https://registry.npmjs.org/ --location user && pnpm config get registrypnpm config delete|list列出所有生效的配置项,或删除某一项。
config list --location project;config delete key
pnpm config list --location projectpnpm why <pkg>解释一个包为何出现在 node_modules 中——显示其依赖链。
--prod;--dev;-r;--filter
pnpm why -r vue && pnpm why lodash -rpnpm link / pnpm link --global将本地包符号链接到当前项目,或将全局包安装到本地。
link(基于 ./);link --global <pkg>;--dir
cd packages/tools/foo && pnpm link --global && cd my-app && pnpm link --global foo发布与打包
pnpm publish将当前包发布到配置的 registry。
--dry-run;--tag alpha|beta|next;--access public|restricted;--otp N;--filter
pnpm publish --dry-run --tag canary --access publicpnpm pack生成包的 tarball 但不发布(用于上传到其他渠道)。
--pack-gzip-level 0..9;--pack-destination DIR
pnpm pack --pack-destination ./release常用工作流
pnpm recursive list / pnpm -r why一次性查看整个工作区的依赖树。
pnpm recursive list --depth 0pnpm run --filter <pkg> test只在某一个工作区中执行脚本——适合细粒度的 CI 场景。
--filter 配合 dependencies/dependents;--parallel
pnpm --filter "trowsoft-pdf-*" run build --parallelpnpm sync:tools / pnpm build:tools本仓库的辅助脚本——同步工具翻译到 Nuxt 应用,然后构建工具产物。
pnpm sync:tools && pnpm build:tools相关命令速查
volta
日常高频 Volta CLI 命令快速参考:安装 Node / npm / Yarn / pnpm 工具链、为项目锁定版本、管理全局包,以及排查 Volta 本身的问题,并附带常用参数和实操示例。
25 条命令
Volta 1.x
npm
日常高频 npm CLI 命令快速参考:init / install / add / remove / update / scripts / run / publish / audit,以及 lockfile、registry、缓存管理,附带常用参数和实操示例。
34 条命令
npm 10+
yarn
日常高频 Yarn CLI 命令快速参考(同时覆盖 Yarn Classic 1.x 与 Yarn Berry 2/3/4):install / add / remove / run / workspaces、lockfile、Plug'n'Play 以及 Berry 配置,附带常用参数和实操示例。
33 条命令
Yarn 1.x (classic) / Yarn 4 (berry)
npx
npx 命令快速参考:运行一次性包二进制、搭建项目脚手架、管理 npx 缓存、锁定版本,以及避免交互式 CLI 的坑——并附带常用参数和实操示例。
25 条命令
npx 10+ (shipped with npm)
vite
Vite CLI 命令快速参考:dev server、build、preview、依赖预打包、插件管理、环境变量,以及项目检查——并附带常用参数和实操示例。
30 条命令
Vite 5+
商标与使用声明
本批命令行工具速查手册为开源社区参考资料。文中涉及的各工具的名称、标识、商标(如 Git™、Docker™、Kubernetes®、kubectl、PostgreSQL®、MySQL®、Redis™、MongoDB®、Linux™、PowerShell™、Vim™ 等)均归对应权利人所有,此处仅为识别与参考之目的使用。
本速查手册的全部内容均为独立编写的简化自包含参考,**与任何官方文档不存在隶属、被认可或引用关系**。命令列表、参数说明、示例均为作者原创简化表达;如需权威信息,请参阅各工具的官方文档。
命令语法与参数可能在不同工具版本中有所差异。所示版本标签对应稳定发布版本;其他版本行为可能有所不同。本速查手册**不代表**商标权利人的任何偏好或推荐。
如商标或版权方认为本站部分内容存在权益侵害,请发送邮件至[email protected],我们在收到有效权属证明后,会在合理期限内修改或移除相关内容。
本网站不对因使用本站信息而产生的任何直接或间接损失承担法律责任。
关于 pnpm
pnpm 是 Zoltan Kochan 在 2017 年创建的 Node.js 包管理器,作为 npm 与 Yarn 的更快、更省盘替代品;当前稳定版是 pnpm 9+,仍然是 npm CLI 的 drop-in 替代,读同一份 `package.json` 与 `node_modules` 约定。它最大的创新是内容寻址存储 `~/.local/share/pnpm/store`(或项目级 `pnpm-store/`):每个包版本下载一次,多个项目通过硬链接共享,盘占用小、安装快。pnpm 默认强制非扁平的 `node_modules` 布局,包只能 `import` 自己 `package.json` 声明的内容(杜绝 phantom dependencies),让真正的问题在 install 时暴露而不是运行时。特性包括 workspaces(monorepo)、`pnpm dlx`(类似 `npx`)、`pnpm filter` 选择器、生命期脚本的可预期顺序、严格 peer dependencies 模式、通过 `pnpm patch` 给依赖打补丁。任何 Node 项目用 pnpm 都有速度与正确性收益;必须复现锁定到 npm 的 CI 时再换回 npm。pnpm 不会向外部发送包内容——只有 HTTPS 上的镜像仓库流量。
速查页版本 1.0.0