pnpm
pnpm 9+pnpm を素早く参照:install / add / remove / update、スクリプト、ワークスペース、ストア / キャッシュ、設定 — GitHub サイトの pnpm リポジトリ運用を中心に、よく使うオプションと実用例をまとめました。
31 コマンド
導入 / 管理
pnpm installpackage.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 など)をパスへ導入します。
-g; --global-prefix; --reporter append|ndjson
pnpm add -g typescript tsxpnpm remove <pkg>プロジェクトと lockfile から依存を削除します。
-D devDependencies から; -g グローバルから; --filter pkg 特定ワークスペースのみ削除
pnpm remove lodash && pnpm remove -F web -D @types/jestpnpm update / pnpm update -Lsemver 範囲内で依存を更新;-L / --latest は最新バージョンへアップグレード。
-L / --latest; -i / --interactive; --workspace-root; --filter
pnpm update -i vue && pnpm update -L @nuxt/i18npnpm outdated古いパッケージを現在 / 必要 / 最新バージョンと共に表示します。
--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 --fixlockfile に対して npm 形式のセキュリティ アドバイザリ チェックを実行します。
--prod 本番のみ; --json
pnpm audit --json | jq '.metadata.vulnerabilities'pnpm dedupe可能なら 1 バージョンに巻き上げ、lockfile / 依存ツリーを整理します。
--check; --strict-peer-dependencies=false
pnpm dedupe --checkpnpm rebuildネイティブ依存をリビルド(ビルド後 / Node バージョン更新後)。
--reporter; --recursive; --filter
pnpm rebuild -r && pnpm rebuild esbuildpnpm approve-buildsネイティブ パッケージ(esbuild、sharp、@swc/core など)のビルド スクリプトを承認します。
対話プロンプト; 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実行と DX
pnpm run <script>package.json#scripts に定義されたスクリプトを実行します。
-r / --recursive 全パッケージで実行; --filter / -F 1 件指定; --parallel; --no-color
pnpm run dev && pnpm -F src/www run buildpnpm dlx <pkg>パッケージをレジストリから取得し、永続インストールせずバイナリを実行します。
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 / ./相対パスで 1 パッケージを指定。
--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 typescriptストア / キャッシュ
pnpm store pathpnpm のコンテンツ アドレス可能ストアの場所を表示(プロジェクト間で重複排除)。
store path; --virtual-store-dir DIR
pnpm store path && du -sh $(pnpm store path)pnpm store pruneストアから参照されていないパッケージを削除(ディスク使用量を削減)。
store prune; --force プロンプトをスキップ
pnpm store prunepnpm cache list / cache deletepnpm のメタデータ キャッシュを一覧 / 削除。
cache list; cache delete <pkg>@<ver>; --registry
pnpm cache list vitest@latest設定 / Info
pnpm config get|set <key> [value]ユーザー / グローバル / ストア / プロジェクトの 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有効な設定キーを一覧、または 1 件削除。
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公開 / Pack
pnpm publish現在のパッケージを設定済みレジストリへ公開します。
--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> test1 ワークスペースのみスクリプトを実行 — きめ細かい 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 コマンドのクイックリファレンス:Node / npm / Yarn / pnpm ツールチェーンのインストール、プロジェクトごとのバージョン固定、グローバル パッケージの管理、Volta 自身のトラブルシューティング — よく使うオプションと実用例をまとめました。
25 コマンド
Volta 1.x
npm
日常的に使う npm CLI コマンドのクイック リファレンス:init / install / add / remove / update / scripts / run / publish / audit、ロックファイル、レジストリ、キャッシュ管理 — よく使うオプションと実用例をまとめました。
34 コマンド
npm 10+
yarn
日常的に使う Yarn CLI コマンド(Yarn Classic 1.x と Yarn Berry 2/3/4 両方)のクイック リファレンス:install / add / remove / run / workspaces、ロックファイル、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 サーバー、ビルド、プレビュー、依存関係のプリバンドル、プラグイン管理、環境変数、プロジェクト確認 — よく使うオプションと実用例をまとめました。
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+ で、同じ `package.json` と `node_modules` の規約を読む限り、npm CLI のドロップイン代替です。最大の発明はコンテンツアドレス可能なストア(デフォルトで `~/.local/share/pnpm/store`、プロジェクト単位なら `pnpm-store/`)で、各パッケージバージョンは一度ダウンロードされ、ハードリンクで複数プロジェクトに共有されるため、ディスク使用量が小さくインストールが高速です。pnpm はデフォルトでフラットではない `node_modules` レイアウトを強制するため、各パッケージは自分の `package.json` で宣言したモジュールだけしか `import` できず、ファントム依存(phantom dependencies)を排除します。これにより本当のバグがランタイムではなくインストール時に露呈します。機能には workspaces(モノレポ)、`pnpm dlx`(`npx` に相当)、`pnpm filter` セレクタ、決定論的なライフサイクルスクリプトの順序、厳格な peer dependencies モード、`pnpm patch` による依存関係のパッチ適用が含まれます。速度と正確性の両方を手に入れたいあらゆる場面で使い、npm に固定された CI を再現する必要があるときだけ npm に戻してください。pnpm はパッケージの中身をどこにも送信しません——HTTPS 経由のレジストリトラフィックは tarball のダウンロードだけです。
チートシート バージョン 1.0.0