ぱんだツールズぱんだツールズ

パッケージマネージャー コマンド横断検索

npm・yarn・pnpm・bun のコマンドを横断比較

ぱんだツールズファイルはサーバーに送信されません
npm: 41yarn: 41pnpm: 42bun: 36
最終更新: 2026-04-13
全42件を表示中
パッケージをインストールする基本
インストール
npm
npm install
構文

npm install <package>

npm install react

React をインストール

公式ドキュメント
yarn
yarn add
構文

yarn add <package>

yarn add react

React をインストール

公式ドキュメント
pnpm
pnpm add
構文

pnpm add <package>

pnpm add react

React をインストール

公式ドキュメント
bun
bun add
構文

bun add <package>

bun add react

React をインストール

公式ドキュメント

比較メモ: npm は install、yarn/pnpm/bun は add を使う。npm i は install のエイリアス

devDependency としてインストールする基本
インストール
npm
npm install -D
構文

npm install -D <package>

npm install -D typescript

TypeScript を devDependency に追加

* --save-dev でも可

公式ドキュメント
yarn
yarn add -D
構文

yarn add -D <package>

yarn add -D typescript

TypeScript を devDependency に追加

* --dev でも可

公式ドキュメント
pnpm
pnpm add -D
構文

pnpm add -D <package>

pnpm add -D typescript

TypeScript を devDependency に追加

* --save-dev でも可

公式ドキュメント
bun
bun add -d
構文

bun add -d <package>

bun add -d typescript

TypeScript を devDependency に追加

* --dev でも可

公式ドキュメント

比較メモ: npm/pnpm は -D(--save-dev)、yarn は -D(--dev)、bun は -d(--dev)。いずれも devDependencies に記録される

特定バージョンを指定してインストールする基本
インストール
npm
npm install pkg@version
構文

npm install <package>@<version>

npm install [email protected]

React 18.2.0 をインストール

公式ドキュメント
yarn
yarn add pkg@version
構文

yarn add <package>@<version>

yarn add [email protected]

React 18.2.0 をインストール

公式ドキュメント
pnpm
pnpm add pkg@version
構文

pnpm add <package>@<version>

pnpm add [email protected]

React 18.2.0 をインストール

公式ドキュメント
bun
bun add pkg@version
構文

bun add <package>@<version>

bun add [email protected]

React 18.2.0 をインストール

公式ドキュメント

比較メモ: 全PM共通で @バージョン 形式。@latest でタグ指定、@^18.0.0 で範囲指定も可能

package.json の依存関係を一括インストールする基本
インストール
npm
npm install
構文

npm install

npm install

package.json の依存関係をすべてインストール

* npm i でも可

公式ドキュメント
yarn
yarn
構文

yarn

yarn

package.json の依存関係をすべてインストール

* yarn install でも可

公式ドキュメント
pnpm
pnpm install
構文

pnpm install

pnpm install

package.json の依存関係をすべてインストール

* pnpm i でも可

公式ドキュメント
bun
bun install
構文

bun install

bun install

package.json の依存関係をすべてインストール

* bun i でも可

公式ドキュメント

比較メモ: yarn は引数なしの yarn だけで install が実行される。bun install は npm より最大25倍高速(公式ベンチマーク)

ローカルのパッケージ(ディレクトリ/tarball)をインストールする中級
インストール
npm
npm install ./path
構文

npm install <path>

npm install ./my-lib

ローカルのmy-libパッケージをインストール

* npm install ./pkg.tgz で tarball も可

公式ドキュメント
yarn
yarn add file:./path
構文

yarn add file:<path>

yarn add file:./my-lib

ローカルのmy-libパッケージをインストール

* yarn add link:./my-lib でシンボリックリンクも可

公式ドキュメント
pnpm
pnpm add ./path
構文

pnpm add <path>

pnpm add ./my-lib

ローカルのmy-libパッケージをインストール

* pnpm add ./pkg.tgz で tarball も可

公式ドキュメント
bun
bun add ./path
構文

bun add <path>

bun add ./my-lib

ローカルのmy-libパッケージをインストール

公式ドキュメント

比較メモ: yarn は file: プロトコルで明示する。link: を使うとシンボリックリンクとしてインストールされる

バージョンを固定してインストールする(キャレット ^/チルダ ~ なし)中級
インストール
npm
npm install -E
構文

npm install -E <package>

npm install -E [email protected]

正確に 18.2.0 を固定(^ なし)

* --save-exact でも可

公式ドキュメント
yarn
yarn add -E
構文

yarn add -E <package>

yarn add -E [email protected]

正確に 18.2.0 を固定(^ なし)

* --exact でも可

公式ドキュメント
pnpm
pnpm add -E
構文

pnpm add -E <package>

pnpm add -E [email protected]

正確に 18.2.0 を固定(^ なし)

* --save-exact でも可

公式ドキュメント
bun
bun add --exact
構文

bun add --exact <package>

bun add --exact [email protected]

正確に 18.2.0 を固定(^ なし)

公式ドキュメント

比較メモ: デフォルトでは ^18.2.0 のように範囲指定される。-E で 18.2.0 として固定し、意図しないアップデートを防止できる

パッケージを削除する基本
削除
npm
npm uninstall
構文

npm uninstall <package>

npm uninstall lodash

lodash を削除

* npm rm / npm un でも可

公式ドキュメント
yarn
yarn remove
構文

yarn remove <package>

yarn remove lodash

lodash を削除

公式ドキュメント
pnpm
pnpm remove
構文

pnpm remove <package>

pnpm remove lodash

lodash を削除

* pnpm rm / pnpm un でも可

公式ドキュメント
bun
bun remove
構文

bun remove <package>

bun remove lodash

lodash を削除

公式ドキュメント

比較メモ: npm は uninstall、yarn/pnpm/bun は remove。いずれも package.json と node_modules から削除される

パッケージを更新する基本
更新
npm
npm update
構文

npm update <package>

npm update react

React を semver 範囲内で更新

公式ドキュメント
yarn
yarn up
構文

yarn up <package>

yarn up react

React を更新

* Classic Yarn では yarn upgrade

公式ドキュメント
pnpm
pnpm update
構文

pnpm update <package>

pnpm update react

React を semver 範囲内で更新

* pnpm up でも可

公式ドキュメント
bun
bun update
構文

bun update <package>

bun update react

React を更新

公式ドキュメント

比較メモ: npm update は semver 範囲内でのみ更新。メジャーバージョンを上げるには npm install pkg@latest が必要

すべてのパッケージを更新する基本
更新
npm
npm update
構文

npm update

npm update

すべてのパッケージを semver 範囲内で更新

公式ドキュメント
yarn
yarn up
構文

yarn up "*"

yarn up "*"

すべてのパッケージを更新

* Classic Yarn では yarn upgrade

公式ドキュメント
pnpm
pnpm update
構文

pnpm update

pnpm update

すべてのパッケージを semver 範囲内で更新

公式ドキュメント
bun
bun update
構文

bun update

bun update

すべてのパッケージを更新

公式ドキュメント
更新可能なパッケージを一覧表示する中級
更新
npm
npm outdated
構文

npm outdated

npm outdated

更新可能なパッケージを Current / Wanted / Latest で表示

公式ドキュメント
yarn
yarn upgrade-interactive
構文

yarn upgrade-interactive

yarn upgrade-interactive

インタラクティブに更新パッケージを選択

* Classic Yarn では yarn outdated

公式ドキュメント
pnpm
pnpm outdated
構文

pnpm outdated

pnpm outdated

更新可能なパッケージを一覧表示

公式ドキュメント
bun
bun outdated
構文

bun outdated

bun outdated

更新可能なパッケージを一覧表示

公式ドキュメント

比較メモ: npm outdated は Current(現在)/ Wanted(semver範囲内の最新)/ Latest(最新)の3列で表示される

インタラクティブに更新するパッケージを選択する中級
更新
npm

直接対応するコマンドなし

npm-check-updates(npx ncu)で代替可能

yarn
yarn upgrade-interactive
構文

yarn upgrade-interactive

yarn upgrade-interactive

更新するパッケージを対話的に選択

公式ドキュメント
pnpm
pnpm update -i
構文

pnpm update -i

pnpm update -i

更新するパッケージを対話的に選択

* --interactive でも可

公式ドキュメント
bun

直接対応するコマンドなし

bun update で一括更新は可能だが対話的選択は未対応

比較メモ: npm は標準で対話的更新を提供しない。npx ncu -i(npm-check-updates)がサードパーティの定番ツール

package.json の scripts を実行する基本
実行
npm
npm run
構文

npm run <script>

npm run build

build スクリプトを実行

公式ドキュメント
yarn
yarn run
構文

yarn run <script>

yarn build

build スクリプトを実行

* yarn <script> で run を省略可能

公式ドキュメント
pnpm
pnpm run
構文

pnpm run <script>

pnpm run build

build スクリプトを実行

* pnpm <script> で run を省略可能

公式ドキュメント
bun
bun run
構文

bun run <script>

bun run build

build スクリプトを実行

* bun <script> で run を省略可能

公式ドキュメント

比較メモ: yarn/pnpm/bun は run を省略して直接スクリプト名を指定可能。npm も npm start / npm test は run を省略可能

パッケージのバイナリを直接実行する(npx 相当)基本
実行
npm
npx
構文

npx <command>

npx create-react-app my-app

create-react-app をダウンロードして実行

* npm exec でも可

公式ドキュメント
yarn
yarn dlx
構文

yarn dlx <command>

yarn dlx create-react-app my-app

create-react-app をダウンロードして実行

* Classic Yarn では npx 相当はなし

公式ドキュメント
pnpm
pnpm dlx
構文

pnpm dlx <command>

pnpm dlx create-react-app my-app

create-react-app をダウンロードして実行

* pnpx は非推奨。pnpm dlx を使う

公式ドキュメント
bun
bunx
構文

bunx <command>

bunx create-react-app my-app

create-react-app をダウンロードして実行

* bun x でも可

公式ドキュメント

比較メモ: npx は未インストールのパッケージを一時的にダウンロードして実行する。yarn dlx / pnpm dlx / bunx が同等

ローカルにインストール済みのバイナリを実行する中級
実行
npm
npx
構文

npx <command>

npx eslint .

ローカルの ESLint を実行

* npx はローカルを優先して探す

公式ドキュメント
yarn
yarn run
構文

yarn <command>

yarn eslint .

ローカルの ESLint を実行

* yarn は自動で node_modules/.bin を参照

公式ドキュメント
pnpm
pnpm exec
構文

pnpm exec <command>

pnpm exec eslint .

ローカルの ESLint を実行

* pnpm <command> でも可

公式ドキュメント
bun
bunx
構文

bunx <command>

bunx eslint .

ローカルの ESLint を実行

* bun run <command> でも可

公式ドキュメント

比較メモ: node_modules/.bin/ にインストールされたコマンドを呼び出す。パスを通さなくても各PMが自動で解決する

テストを実行する(npm test 相当)基本
実行
npm
npm test
構文

npm test

npm test

test スクリプトを実行

* npm t でも可

公式ドキュメント
yarn
yarn test
構文

yarn test

yarn test

test スクリプトを実行

公式ドキュメント
pnpm
pnpm test
構文

pnpm test

pnpm test

test スクリプトを実行

* pnpm t でも可

公式ドキュメント
bun
bun test
構文

bun test

bun test

Bun 内蔵テストランナーで実行

* Bun は Jest 互換の内蔵テストランナーを持つ

公式ドキュメント

比較メモ: bun test は package.json の scripts ではなく、Bun 内蔵の Jest 互換テストランナーを実行する

レジストリ(パッケージ取得元)を設定する中級
設定
npm
npm config set registry
構文

npm config set registry <url>

npm config set registry https://registry.npmmirror.com/

レジストリを変更

* .npmrc に永続保存される

公式ドキュメント
yarn
yarn config set npmRegistryServer
構文

yarn config set npmRegistryServer <url>

yarn config set npmRegistryServer https://registry.npmmirror.com/

レジストリを変更

* .yarnrc.yml に保存。Classic は yarn config set registry

公式ドキュメント
pnpm
pnpm config set registry
構文

pnpm config set registry <url>

pnpm config set registry https://registry.npmmirror.com/

レジストリを変更

* .npmrc を共有

公式ドキュメント
bun
bunfig.toml
構文

[install] registry = "<url>"

echo '[install]\nregistry = "https://registry.npmmirror.com/"'

bunfig.toml でレジストリを設定

* 環境変数 BUN_CONFIG_REGISTRY でも設定可

公式ドキュメント

比較メモ: npm/pnpm は .npmrc を共有。yarn は .yarnrc.yml。bun は bunfig.toml。プライベートレジストリ設定時に重要

現在の設定値を確認する中級
設定
npm
npm config list
構文

npm config list

npm config list

現在の設定値を一覧表示

* --json で JSON 出力も可

公式ドキュメント
yarn
yarn config
構文

yarn config

yarn config

現在の設定値を一覧表示

* Classic では yarn config list

公式ドキュメント
pnpm
pnpm config list
構文

pnpm config list

pnpm config list

現在の設定値を一覧表示

公式ドキュメント
bun

直接対応するコマンドなし

bunfig.toml を直接確認する。bun config コマンドは未対応

比較メモ: bun は設定ファイル(bunfig.toml)を直接読み書きする方式で、コマンドによる設定管理は限定的

パッケージを npm レジストリに公開する応用
公開
npm
npm publish
構文

npm publish [--access public]

npm publish --access public

パッケージを公開(スコープ付きの場合 --access public が必要)

公式ドキュメント
yarn
yarn npm publish
構文

yarn npm publish [--access public]

yarn npm publish --access public

パッケージを公開

* Classic では yarn publish

公式ドキュメント
pnpm
pnpm publish
構文

pnpm publish [--access public]

pnpm publish --access public

パッケージを公開

公式ドキュメント
bun
bun publish
構文

bun publish [--access public]

bun publish --access public

パッケージを公開

公式ドキュメント

比較メモ: @scope/package 形式のスコープ付きパッケージは --access public を付けないとプライベート扱いになる

パッケージの tarball を作成する(公開前の確認用)応用
公開
npm
npm pack
構文

npm pack [--dry-run]

npm pack --dry-run

公開される内容をプレビュー(実際の tarball は作成しない)

公式ドキュメント
yarn
yarn pack
構文

yarn pack

yarn pack --dry-run

公開される内容をプレビュー

公式ドキュメント
pnpm
pnpm pack
構文

pnpm pack

pnpm pack

tarball を作成

公式ドキュメント
bun
bun pm pack
構文

bun pm pack [--dry-run]

bun pm pack --dry-run

公開される内容をプレビュー

公式ドキュメント

比較メモ: npm publish する前に npm pack --dry-run で含まれるファイルを確認するのがベストプラクティス

パッケージキャッシュを削除する中級
キャッシュ
npm
npm cache clean --force
構文

npm cache clean --force

npm cache clean --force

キャッシュを完全に削除

* --force が必須(npm 5+)

公式ドキュメント
yarn
yarn cache clean
構文

yarn cache clean [--all]

yarn cache clean --all

キャッシュを完全に削除

* --all で全キャッシュを対象

公式ドキュメント
pnpm
pnpm store prune
構文

pnpm store prune

pnpm store prune

参照されなくなったパッケージをストアから削除

* pnpm の content-addressable store をクリーンアップ

公式ドキュメント
bun
bun pm cache rm
構文

bun pm cache rm

bun pm cache rm

キャッシュを削除

公式ドキュメント

比較メモ: pnpm はグローバルストア(content-addressable store)を使うため、store prune で未使用パッケージのみ削除される

キャッシュの状態・場所を確認する応用
キャッシュ
npm
npm cache verify
構文

npm cache verify

npm cache verify

キャッシュの整合性を検証し、統計情報を表示

公式ドキュメント
yarn
yarn cache list
構文

yarn cache list

yarn cache list

キャッシュされたパッケージを一覧表示

* Classic では yarn cache dir でパスを取得

公式ドキュメント
pnpm
pnpm store path
構文

pnpm store path

pnpm store path

ストアのパスを表示

* pnpm store status で整合性確認

公式ドキュメント
bun
bun pm cache
構文

bun pm cache

bun pm cache

キャッシュディレクトリのパスを表示

公式ドキュメント
パッケージの詳細情報を確認する中級
情報
npm
npm view
構文

npm view <package> [field]

npm view react versions

React の公開バージョン一覧を表示

* npm info / npm show でも可

公式ドキュメント
yarn
yarn npm info
構文

yarn npm info <package> [--fields field]

yarn npm info react --fields versions

React の公開バージョン一覧を表示

* Classic では yarn info

公式ドキュメント
pnpm
pnpm view
構文

pnpm view <package> [field]

pnpm view react versions

React の公開バージョン一覧を表示

* pnpm info でも可

公式ドキュメント
bun
bun pm view
構文

bun pm view <package>

bun pm view react

React の情報を表示

公式ドキュメント

比較メモ: npm view <pkg> version で最新版、versions で全バージョン一覧を取得可能

インストール済みパッケージの一覧を表示する基本
情報
npm
npm ls
構文

npm ls [--depth=N]

npm ls --depth=0

トップレベルのパッケージ一覧を表示

* npm list でも可

公式ドキュメント
yarn
yarn info --name-only
構文

yarn info --name-only

yarn info --name-only

インストール済みパッケージを一覧表示

* Classic では yarn list

公式ドキュメント
pnpm
pnpm ls
構文

pnpm ls [--depth=N]

pnpm ls --depth=0

トップレベルのパッケージ一覧を表示

* pnpm list でも可

公式ドキュメント
bun
bun pm ls
構文

bun pm ls [--all]

bun pm ls

インストール済みパッケージを一覧表示

公式ドキュメント

比較メモ: --depth=0 でトップレベル(直接の依存)のみ表示。省略すると依存の依存も表示される

依存関係のツリーを表示する中級
情報
npm
npm ls
構文

npm ls [--all]

npm ls --all

依存関係の完全なツリーを表示

公式ドキュメント
yarn
yarn info --all
構文

yarn info --all

yarn info --all

依存関係ツリーを表示

* Classic では yarn list

公式ドキュメント
pnpm
pnpm ls --depth Infinity
構文

pnpm ls --depth Infinity

pnpm ls --depth Infinity

依存関係の完全なツリーを表示

公式ドキュメント
bun
bun pm ls --all
構文

bun pm ls --all

bun pm ls --all

全依存関係を表示

公式ドキュメント
パッケージがなぜインストールされているかを調べる中級
情報
npm
npm explain
構文

npm explain <package>

npm explain lodash

lodash がなぜインストールされているかを表示

* npm why でも可

公式ドキュメント
yarn
yarn why
構文

yarn why <package>

yarn why lodash

lodash がなぜインストールされているかを表示

公式ドキュメント
pnpm
pnpm why
構文

pnpm why <package>

pnpm why lodash

lodash がなぜインストールされているかを表示

公式ドキュメント
bun

直接対応するコマンドなし

bun pm ls --all で依存ツリーを確認して手動で探す

比較メモ: npm explain / yarn why で「どのパッケージが lodash を要求しているか」を逆引きできる。不要な依存の特定に有用

PM 自体のバージョンを確認する基本
情報
npm
npm -v
構文

npm -v

npm -v

npm のバージョンを表示

* npm --version でも可

公式ドキュメント
yarn
yarn -v
構文

yarn -v

yarn -v

yarn のバージョンを表示

* yarn --version でも可

公式ドキュメント
pnpm
pnpm -v
構文

pnpm -v

pnpm -v

pnpm のバージョンを表示

* pnpm --version でも可

公式ドキュメント
bun
bun -v
構文

bun -v

bun -v

bun のバージョンを表示

* bun --version でも可

公式ドキュメント
新しいプロジェクトを初期化する(package.json を作成)基本
初期化
npm
npm init
構文

npm init [-y]

npm init -y

デフォルト値で package.json を作成

* -y で対話プロンプトをスキップ

公式ドキュメント
yarn
yarn init
構文

yarn init [-y]

yarn init -y

デフォルト値で package.json を作成

* -y で対話プロンプトをスキップ

公式ドキュメント
pnpm
pnpm init
構文

pnpm init

pnpm init

デフォルト値で package.json を作成

* 常に非対話モード

公式ドキュメント
bun
bun init
構文

bun init

bun init

デフォルト値で package.json を作成

* TypeScript をデフォルトでセットアップ

公式ドキュメント

比較メモ: bun init は TypeScript(tsconfig.json + index.ts)をデフォルトで生成する点が他と異なる

テンプレートからプロジェクトを作成する中級
初期化
npm
npm create
構文

npm create <template> [name]

npm create vite@latest my-app

Vite テンプレートからプロジェクトを作成

* npm init <template> でも可。create-<template> パッケージを実行

公式ドキュメント
yarn
yarn create
構文

yarn create <template> [name]

yarn create vite my-app

Vite テンプレートからプロジェクトを作成

* create-<template> パッケージを実行

公式ドキュメント
pnpm
pnpm create
構文

pnpm create <template> [name]

pnpm create vite my-app

Vite テンプレートからプロジェクトを作成

* create-<template> パッケージを実行

公式ドキュメント
bun
bun create
構文

bun create <template> [name]

bun create vite my-app

Vite テンプレートからプロジェクトを作成

* bun create は GitHub リポジトリからの作成にも対応

公式ドキュメント

比較メモ: npm create vite は内部で create-vite パッケージを実行する。各PMで同じ仕組み

パッケージをグローバルにインストールする基本
グローバル
npm
npm install -g
構文

npm install -g <package>

npm install -g typescript

TypeScript をグローバルにインストール

公式ドキュメント
yarn
yarn global add
構文

yarn global add <package>

yarn global add typescript

TypeScript をグローバルにインストール

* Yarn Berry(v2+)では非推奨。corepack を推奨

公式ドキュメント
pnpm
pnpm add -g
構文

pnpm add -g <package>

pnpm add -g typescript

TypeScript をグローバルにインストール

公式ドキュメント
bun
bun add -g
構文

bun add -g <package>

bun add -g typescript

TypeScript をグローバルにインストール

* --global でも可

公式ドキュメント

比較メモ: グローバルインストールはシステム全体で使えるが、プロジェクトの再現性を損なう。npx / dlx / bunx の利用を推奨

グローバルにインストール済みのパッケージを一覧表示する基本
グローバル
npm
npm ls -g --depth=0
構文

npm ls -g --depth=0

npm ls -g --depth=0

グローバルパッケージの一覧を表示

公式ドキュメント
yarn
yarn global list
構文

yarn global list

yarn global list

グローバルパッケージの一覧を表示

公式ドキュメント
pnpm
pnpm ls -g
構文

pnpm ls -g

pnpm ls -g

グローバルパッケージの一覧を表示

公式ドキュメント
bun
bun pm ls -g
構文

bun pm ls -g

bun pm ls -g

グローバルパッケージの一覧を表示

公式ドキュメント
グローバルパッケージを削除する基本
グローバル
npm
npm uninstall -g
構文

npm uninstall -g <package>

npm uninstall -g typescript

TypeScript をグローバルから削除

公式ドキュメント
yarn
yarn global remove
構文

yarn global remove <package>

yarn global remove typescript

TypeScript をグローバルから削除

公式ドキュメント
pnpm
pnpm remove -g
構文

pnpm remove -g <package>

pnpm remove -g typescript

TypeScript をグローバルから削除

公式ドキュメント
bun
bun remove -g
構文

bun remove -g <package>

bun remove -g typescript

TypeScript をグローバルから削除

* --global でも可

公式ドキュメント
特定のワークスペースでコマンドを実行する応用
ワークスペース
npm
npm -w
構文

npm run <script> -w <workspace>

npm run build -w packages/ui

packages/ui ワークスペースの build を実行

* --workspace でも可

公式ドキュメント
yarn
yarn workspace
構文

yarn workspace <name> <command>

yarn workspace @myorg/ui build

@myorg/ui ワークスペースの build を実行

公式ドキュメント
pnpm
pnpm --filter
構文

pnpm --filter <name> <command>

pnpm --filter @myorg/ui build

@myorg/ui ワークスペースの build を実行

* -F でも可

公式ドキュメント
bun
bun --filter
構文

bun --filter <name> <command>

bun --filter @myorg/ui build

@myorg/ui ワークスペースの build を実行

公式ドキュメント

比較メモ: npm は -w、yarn は workspace、pnpm/bun は --filter でワークスペースを指定する

すべてのワークスペースでコマンドを実行する応用
ワークスペース
npm
npm -ws
構文

npm run <script> -ws

npm run build -ws

全ワークスペースで build を実行

* --workspaces でも可

公式ドキュメント
yarn
yarn workspaces foreach
構文

yarn workspaces foreach run <script>

yarn workspaces foreach run build

全ワークスペースで build を実行

* Classic では yarn workspaces run

公式ドキュメント
pnpm
pnpm -r
構文

pnpm -r run <script>

pnpm -r run build

全ワークスペースで build を実行

* --recursive でも可

公式ドキュメント
bun
bun --filter "*"
構文

bun --filter "*" <command>

bun --filter "*" build

全ワークスペースで build を実行

公式ドキュメント

比較メモ: pnpm -r は依存関係の順序を考慮して実行する。npm -ws は並列実行

特定のワークスペースにパッケージを追加する応用
ワークスペース
npm
npm install -w
構文

npm install <package> -w <workspace>

npm install react -w packages/ui

packages/ui に React をインストール

公式ドキュメント
yarn
yarn workspace add
構文

yarn workspace <name> add <package>

yarn workspace @myorg/ui add react

@myorg/ui に React をインストール

公式ドキュメント
pnpm
pnpm add --filter
構文

pnpm add <package> --filter <name>

pnpm add react --filter @myorg/ui

@myorg/ui に React をインストール

公式ドキュメント
bun
bun add --filter
構文

bun add <package> --filter <name>

bun add react --filter @myorg/ui

@myorg/ui に React をインストール

公式ドキュメント
ワークスペースの一覧を表示する応用
ワークスペース
npm
npm query .workspace
構文

npm query .workspace

npm query .workspace

ワークスペースを JSON 形式で一覧表示

公式ドキュメント
yarn
yarn workspaces list
構文

yarn workspaces list

yarn workspaces list

ワークスペースの一覧を表示

* Classic では yarn workspaces info

公式ドキュメント
pnpm
pnpm ls -r --depth -1
構文

pnpm ls -r --depth -1

pnpm ls -r --depth -1

ワークスペースの一覧を表示

公式ドキュメント
bun
bun pm ls
構文

bun pm ls

bun pm ls

ワークスペースの一覧を表示

公式ドキュメント
ロックファイルに従って厳密にインストールする(CI用)中級
ロックファイル
npm
npm ci
構文

npm ci

npm ci

package-lock.json に厳密に従ってインストール

* node_modules を削除してから実行

公式ドキュメント
yarn
yarn install --immutable
構文

yarn install --immutable

yarn install --immutable

yarn.lock と一致しない場合はエラー

* Classic では yarn install --frozen-lockfile

公式ドキュメント
pnpm
pnpm install --frozen-lockfile
構文

pnpm install --frozen-lockfile

pnpm install --frozen-lockfile

pnpm-lock.yaml と一致しない場合はエラー

公式ドキュメント
bun
bun install --frozen-lockfile
構文

bun install --frozen-lockfile

bun install --frozen-lockfile

bun.lock と一致しない場合はエラー

公式ドキュメント

比較メモ: CI 環境では必ずロックファイル固定インストールを使う。npm ci は node_modules を事前に削除するため npm install より高速かつ確実

ロックファイルだけを更新する(node_modules は変更しない)中級
ロックファイル
npm
npm install --package-lock-only
構文

npm install --package-lock-only

npm install --package-lock-only

package-lock.json のみを更新

公式ドキュメント
yarn
yarn install --mode update-lockfile
構文

yarn install --mode update-lockfile

yarn install --mode update-lockfile

yarn.lock のみを更新

* Classic では yarn install --pure-lockfile に近い

公式ドキュメント
pnpm
pnpm install --lockfile-only
構文

pnpm install --lockfile-only

pnpm install --lockfile-only

pnpm-lock.yaml のみを更新

公式ドキュメント
bun

直接対応するコマンドなし

bun install で自動的に bun.lock が更新される

比較メモ: マージコンフリクト解消時にロックファイルだけ再生成するのに便利

各PMのロックファイル名を確認する基本
ロックファイル
npm
package-lock.json
構文

package-lock.json

cat package-lock.json

npm のロックファイル

* npm-shrinkwrap.json でも可(レガシー)

公式ドキュメント
yarn
yarn.lock
構文

yarn.lock

cat yarn.lock

yarn のロックファイル

公式ドキュメント
pnpm
pnpm-lock.yaml
構文

pnpm-lock.yaml

cat pnpm-lock.yaml

pnpm のロックファイル

公式ドキュメント
bun
bun.lock
構文

bun.lock

cat bun.lock

bun のロックファイル

* テキスト形式(JSONC ベース)

公式ドキュメント

比較メモ: ロックファイルは必ずバージョン管理にコミットする。npm は JSON、yarn はカスタム形式、pnpm は YAML、bun はテキスト形式

依存パッケージの脆弱性を確認する中級
情報
npm
npm audit
構文

npm audit [--fix]

npm audit

脆弱性のあるパッケージを報告

* --fix で自動修正を試みる

公式ドキュメント
yarn
yarn npm audit
構文

yarn npm audit [--all]

yarn npm audit --all

全依存の脆弱性を報告

* Classic では yarn audit

公式ドキュメント
pnpm
pnpm audit
構文

pnpm audit [--fix]

pnpm audit

脆弱性のあるパッケージを報告

* --fix で自動修正を試みる

公式ドキュメント
bun
bun audit
構文

bun audit

bun audit

脆弱性のあるパッケージを報告

公式ドキュメント

比較メモ: npm audit fix は semver 範囲内で安全なバージョンに自動更新する。--force を付けるとメジャーバージョンの更新も行う

重複した依存パッケージを最適化する(dedupe)応用
インストール
npm
npm dedupe
構文

npm dedupe

npm dedupe

依存ツリーの重複を解消

公式ドキュメント
yarn
yarn dedupe
構文

yarn dedupe

yarn dedupe

依存ツリーの重複を解消

公式ドキュメント
pnpm
pnpm dedupe
構文

pnpm dedupe

pnpm dedupe

依存ツリーの重複を解消

公式ドキュメント
bun

直接対応するコマンドなし

bun は独自の依存解決で自動的に最適化される

比較メモ: pnpm はコンテンツアドレッサブルストアにより、物理的なディスク使用量が他PMより少ない

ローカルパッケージをシンボリックリンクで参照する応用
インストール
npm
npm link
構文

npm link / npm link <package>

cd my-lib && npm link && cd ../my-app && npm link my-lib

my-lib をリンクして my-app から参照

公式ドキュメント
yarn
yarn link
構文

yarn link / yarn link <package>

cd my-lib && yarn link && cd ../my-app && yarn link my-lib

my-lib をリンクして my-app から参照

公式ドキュメント
pnpm
pnpm link
構文

pnpm link --global / pnpm link --global <package>

cd my-lib && pnpm link --global && cd ../my-app && pnpm link --global my-lib

my-lib をリンクして my-app から参照

公式ドキュメント
bun
bun link
構文

bun link / bun link <package>

cd my-lib && bun link && cd ../my-app && bun link my-lib

my-lib をリンクして my-app から参照

公式ドキュメント

比較メモ: ライブラリのローカル開発時に npm publish せずに動作確認するためのコマンド。開発完了後は unlink を忘れずに

不要な(package.json に記載のない)パッケージを削除する中級
削除
npm
npm prune
構文

npm prune [--production]

npm prune --production

devDependencies を削除して本番用にする

公式ドキュメント
yarn

直接対応するコマンドなし

yarn は自動的に不要パッケージを除外する。yarn install --production で devDependencies を除外

pnpm
pnpm prune
構文

pnpm prune [--prod]

pnpm prune --prod

devDependencies を削除して本番用にする

公式ドキュメント
bun

直接対応するコマンドなし

bun は自動的に不要パッケージを除外する

比較メモ: Docker イメージで本番用に devDependencies を除外する際に使う。マルチステージビルドでの利用が一般的

よくある質問

npm・yarn・pnpm・bun の違いは何ですか?

いずれも Node.js のパッケージマネージャーですが、それぞれ特徴が異なります。npm は Node.js に標準同梱される最も普及したPMです。yarn は Facebook(現 Meta)が開発し、ワークスペース機能やプラグインシステムが充実しています。pnpm はコンテンツアドレッサブルストアにより、ディスク使用量を大幅に削減します。bun は Zig 言語で開発された高速ランタイムに内蔵されたPMで、インストール速度が最大25倍高速です。

プロジェクトでどのパッケージマネージャーを選べばよいですか?

迷ったら npm から始めるのが無難です。Node.js に標準同梱されており、追加インストール不要で情報量も最多です。チーム開発でディスク容量を節約したい場合は pnpm、モノレポを運用するなら yarn Berry または pnpm、とにかくインストール速度を求めるなら bun がおすすめです。既存プロジェクトでは、リポジトリに存在するロックファイル(package-lock.json / yarn.lock / pnpm-lock.yaml / bun.lock)に合わせてください。

npm install と yarn add の違いは何ですか?

機能的にはほぼ同じで、パッケージを dependencies に追加してインストールします。npm は「install」、yarn/pnpm/bun は「add」というコマンド名の違いがあります。npm install は引数なしで全依存をインストールする意味もあり、yarn では引数なしの「yarn」が同等です。

npx と bunx と yarn dlx の違いは何ですか?

いずれも「インストールせずにパッケージのバイナリを一時的にダウンロードして実行する」コマンドです。npx(npm)が元祖で、yarn dlx(yarn)、pnpm dlx(pnpm)、bunx(bun)が同等のコマンドです。create-react-app のようなプロジェクトジェネレーターをワンショットで実行する場面でよく使います。bunx は bun の高速性を活かして特に素早く実行できます。

pnpm のコンテンツアドレッサブルストアとは何ですか?

pnpm はダウンロードしたパッケージをグローバルストア(~/.pnpm-store)に1回だけ保存し、各プロジェクトの node_modules からはハードリンクで参照します。同じバージョンの react が10プロジェクトで使われていても、ディスク上には1つだけ実体が存在します。これにより npm/yarn と比べてディスク使用量が大幅に削減されます。

ロックファイルとは何ですか?なぜ必要ですか?

ロックファイル(package-lock.json / yarn.lock / pnpm-lock.yaml / bun.lock)は、実際にインストールされた全パッケージの正確なバージョンを記録するファイルです。package.json の「^18.2.0」のような範囲指定だと、インストール時期によって異なるバージョンが入る可能性があります。ロックファイルをGitにコミットすることで、チーム全員とCI環境で完全に同じバージョンの依存関係を再現できます。

CI環境では通常のインストールと何が違いますか?

CI環境では npm ci / yarn install --immutable / pnpm install --frozen-lockfile / bun install --frozen-lockfile を使います。これらはロックファイルと package.json が一致しない場合にエラーにすることで、「ローカルではロックファイルを更新したのにコミットし忘れた」問題を検出します。npm ci は node_modules を事前に削除してクリーンインストールするため、通常の npm install より高速かつ確実です。

データはいつ更新されますか?

最終更新日: 2026-04-13。npm・yarn・pnpm・bun の主要コマンドを網羅しています。各PMの新機能やコマンド変更があれば随時更新します。Yarn は Berry(v2+)の構文を優先して掲載し、Classic(v1)との違いがある場合は補足しています。

開発者ツール一覧

すべて見る

このツールについて

使い方

  1. 検索欄にコマンド名(例: install)や操作内容(例: パッケージ更新)を入力する
  2. 「npm」「yarn」「pnpm」「bun」のフィルターで見たいPMに絞り込む
  3. カテゴリドロップダウンでインストール・実行・ワークスペース等の種類別に絞り込む
  4. 難易度フィルター(基本・中級・応用)で自分のレベルに合ったコマンドを探す

このツールの特徴

  • 4つのPMを横断比較:npm・yarn・pnpm・bun の同じ操作に対応するコマンドを並べて表示します。PM間の移行や切り替え時に「あのコマンド、このPMではなんだっけ?」をすぐ解決できます
  • 「やりたいこと」から逆引き:「パッケージをインストールしたい」「キャッシュをクリアしたい」など、操作の目的からコマンドを検索できます
  • 構文と実行例をセットで掲載:各コマンドに基本構文(syntax)と具体的な実行例を掲載しているため、コピー&ペーストですぐ使えます
  • 公式ドキュメントへのリンク付き:npm Docs・Yarn Berry Docs・pnpm Docs・Bun Docs への直リンクで、詳細な仕様をすぐ確認できます
  • 比較メモで違いを解説:同じ操作でもPM間で動作が異なる箇所(例: npm install vs yarn add、ロックファイル形式の違い)を比較メモで補足しています

こんなときに便利

  • npm に慣れていて、pnpm や bun への移行を検討している
  • 転職先のプロジェクトで別のPMが使われていて、対応コマンドを知りたい
  • yarn Classic(v1)から yarn Berry(v2+)に移行してコマンド体系が変わった
  • CI/CD の設定で正しいインストールコマンド(npm ci 相当)を調べたい
  • モノレポのワークスペースコマンドをPM間で比較したい

なぜ「パッケージマネージャー横断検索」が必要なのか

JavaScript/TypeScript のエコシステムでは、npm・yarn・pnpm・bun の4つのパッケージマネージャーが並立しています。それぞれコマンド体系が微妙に異なるため、PM を切り替えるたびに「npm install に相当する yarn のコマンドは?」「CI で使うべきコマンドは npm ci?pnpm install --frozen-lockfile?」といった疑問が生じます。

既存のドキュメントは各PM単体のリファレンスがほとんどで、4つのPMを横断的に比較できるツールはほとんど存在しません。このツールは「やりたい操作」を起点に、4つのPMのコマンドを一覧比較することで、PM移行・併用のコストを最小化することを目指しています。

特にモノレポ(ワークスペース)のコマンドはPM間の差異が大きく、--filter / -w / workspace など指定方法が統一されていないため、横断比較の価値が高い領域です。

各パッケージマネージャーの概要

  • npm:Node.js に標準同梱されるパッケージマネージャー。最も広く使われており、npmjs.com に200万以上のパッケージが公開されています。v7 以降でワークスペースに対応し、v9 以降で大幅に高速化されました。
  • yarn:Meta(旧 Facebook)が開発したPM。Classic(v1)と Berry(v2+)で大きくアーキテクチャが異なります。Berry は Plug'n'Play(PnP)で node_modules を不要にし、Zero-Install でリポジトリからの即時起動を実現します。
  • pnpm:コンテンツアドレッサブルストアとハードリンクによるディスク効率化が最大の特徴。node_modules の構造が厳密で、宣言していない依存(phantom dependencies)へのアクセスを防止します。モノレポ機能も充実しています。
  • bun:Zig 言語で書かれた高速 JavaScript ランタイム内蔵のPM。npm 互換の CLI を提供し、bun install は npm の最大25倍高速(公式ベンチマーク)。テストランナー・バンドラーもランタイムに内蔵されています。