Rootscope
HomeTechnology › npm vs Yarn vs pnpm:仕組みを深掘りしたパッケージマネージャー徹底比較

npm vs Yarn vs pnpm:仕組みを深掘りしたパッケージマネージャー徹底比較

2025.05.08 by

🛠️ npm / Yarn / pnpm 完全比較ガイド

Node.js エコシステムを支える 3 大パッケージマネージャー
npmYarnpnpm
それぞれ インストール速度・ディスク使用量・Monorepo 対応 などで特色が大きく異なります。
本記事では アーキテクチャ から 実ベンチマーク
チーム規模ごとのおすすめ選択肢 まで網羅的に解説します。

📊 3 分でわかる早見表

比較項目 npm Yarn v2+ (Berry) pnpm
初回 install ★★★☆☆ ★★★★☆ ★★★★★
再 install ★★★☆☆ ★★★★☆ ★★★★★
ディスク効率 ★★☆☆☆ ★★★★★ (PnP) ★★★★★ (CAS)
Monorepo ◎ (v7+)
Zero-Install △ (optional)

1. npm ― 標準パッケージマネージャー

1.1 仕組みと特徴

  • Registrynpmjs.org
  • package-lock.json で依存を厳密ロック
  • v7 で Workspaces を公式サポート

1.2 ディレクトリ構造

node_modules/
  react/
  react-dom/
  project-a/
    node_modules/
      react/  ← 重複

階層的に依存を複製するため、ディスク使用量が増大しがち。

2. Yarn ― Zero-Install 時代へ

2.1 Yarn v1 (Classic)

  • yarn.lock による再現性
  • 並列 DL で npm より高速

2.2 Yarn v2+ (Berry)

  • Plug’n’Play (PnP)node_modules 廃止
  • リポジトリに .yarn/cache をコミット → Zero-Install
  • TypeScript と連携した Constraints で依存の型安全を担保

3. pnpm ― 最速シンボリックリンク方式

3.1 Content-Addressable Store

一度 DL した tarball を CAS に保存し、各プロジェクトは
node_modules にシンボリックリンクを張るだけ。
同一パッケージはディスクに “1 ファイル” で済む。

3.2 強力な Monorepo 支援

pnpm-workspace.yaml でワークスペースを定義。
依存関係を静的に解析し、–filter オプションで差分ごとにビルド可能。

⚡ 実測ベンチマーク

# 初回 install (Next.js + 400 deps)
npm  : 42.1s
yarn : 31.4s
pnpm : 18.7s

# 再 install (cache hit)
npm  : 12.8s
yarn :  8.3s
pnpm :  2.5s

🆚 メリット / デメリット一覧

npm

  • ◯ 標準でエコシステム最大互換
  • △ ディスク効率が低い
  • △ Monorepo は v7 以降限定機能

Yarn

  • ◯ PnP による Zero-Install
  • ◯ Plugin で拡張性◎
  • △ PnP 非対応ライブラリでは手間

pnpm

  • ◯ 最速 install & 最小ディスク
  • ◯ 正確な peerDependencies 検証
  • △ 一部ツールでパス解決パッチが必要

❓ FAQ

Q. Windows でも pnpm が最速?
はい。NTFS のハードリンクが高速に機能します。
--symlink=false でリンク方式を切り替え可能。
Q. CI で最もキャッシュが効くのは?
pnpm + store キャッシュ が最小サイズ / 最速復元。
Yarn v2 の Zero-Install も リポジトリ容量が許せば 手軽です。

🎯 シチュエーション別おすすめ

  • 個人 / 小規模:既定の npm で十分
  • 大規模 Monorepopnpm が最速 & ディスク効率◎
  • フロントエンド + キャッシュコミットYarn v2 Berry の Zero-Install
  • レガシー互換プライオリティnpmYarn v1

🚩 まとめ

npm は “標準と互換性”
Yarn は “Zero-Install と拡張性”
pnpm は “最速 & 最小ディスク”

関連記事