Skip to content
Latchkey

CI での npm vs Yarn vs pnpm: 速度、ディスク、信頼性

CI では、パッケージマネージャーの選択がインストール時間、ディスク、cache ヒット率に他のどこよりも影響します。

3 つとも Node の依存関係をインストールしますが、速度、ディスク使用量、CI での cache のしやすさが異なります。

npmYarnpnpm
CI のインストールコマンドnpm ciyarn --frozen-lockfilepnpm i --frozen-lockfile
ディスク使用量多い多い少ない (コンテンツアドレス型ストア)
一般的な速度基準高速ウォームストアで最速
デフォルトで厳格緩い緩い厳格 (ファントム依存なし)

特に CI では

pnpm はコンテンツアドレス型ストアのおかげで速度とディスクで通常勝ち、リソースの限られた runner で効いてきます。npm はセットアップ不要で最も安全なデフォルトです。Yarn (特に Berry/PnP) は高速ですが、設定のニュアンスが増えます。

どちらにしても cache する

どれを選んでも、lockfile をキーにしてストアを cache してください - それがツール選びよりも大きな高速化になります。

結論

最大の CI 速度と少ないディスクが欲しい: pnpm。設定不要の安全性が欲しい: npm。どれを使っても、cache とより速い runner の方がツール選びより重要です。

関連ガイド