npm / yarn / pnpm コマンド違い早見表

はじめに

最近、pnpm をメインで使うようになってから、npm とのコマンド差分を調べることが増えました。 同じパッケージマネージャでも、npmyarnpnpm ではコマンドの書き方や挙動が微妙に異なります。 この記事では、よく使うコマンドの早見表をまとめます。

npm / yarn / pnpm の違い (2025/3 時点)

マネージャ特徴
npmNode.js 標準のパッケージマネージャ。v9 以降は package-lock.json の仕様が最適化され、速度も改善されている。
yarnnpm より高速なインストールと、より厳密な依存関係の管理が特徴。新しい Yarn では plug'n'play (PnP) モードも利用可能。
pnpmモジュールをグローバルに保存し、ハードリンクで共有することでディスク容量を節約。特にモノレポ環境でのパフォーマンスが優れている。

目的別 npm / yarn / pnpm コマンド早見表

操作npmyarnpnpm
パッケージをインストールnpm install packageyarn add packagepnpm add package
開発用パッケージをインストールnpm install package --save-devyarn add package --devpnpm add package --save-dev
グローバルにインストールnpm install -g packageyarn global add packagepnpm add -g package
全パッケージをインストールnpm installyarn installpnpm install
コマンドを実行(例: eslintnpx eslint .yarn dlx eslint .pnpm dlx eslint .
ローカルパッケージを実行npm run scriptyarn scriptpnpm run script
パッケージを削除npm uninstall packageyarn remove packagepnpm remove package
すべての依存関係を更新npm updateyarn upgradepnpm update
package.json のバージョンを更新npm version patchyarn version --patchpnpm version patch
package.json を作成npm inityarn initpnpm init
package.json を対話形式で作成npm init -yyarn init -ypnpm init
キャッシュをクリアnpm cache clean --forceyarn cache cleanpnpm store prune
開発用パッケージについて

個人的には --save-dev の代わりに -D を使う派です。 特に、pnpm add -D package などは、頻発するので重宝します。 npm では -D が使えないので注意。

補足: コマンドの違いと注意点

1: キャッシュ管理

  • npm cache cleanyarn cache clean はキャッシュを削除するだけですが、 pnpm store prune は、不要になったパッケージをストレージから削除します。
  • pnpmnode_modules に依存せずグローバルストアを活用するため、キャッシュ管理が異なります。

2: パッケージ実行

  • npxnpm@5+ に組み込まれたツールで、一時的にパッケージを実行できます。
  • pnpm dlxnpxpnpm 版で、同じくインストールせずにパッケージを実行できます。
  • yarnyarn dlx を使用し、似た動作をします。