TECHNOLOGY COMPARE

npm / Yarn

「どっちが上?」ではなく、まず同じ仕事をする道具なのかを確認します。

DIRECT COMPARISON

直接比較しやすい組み合わせ

npmとYarnはどちらも「パッケージ・モノレポ」の技術なので、同じ土俵で比較しやすい組み合わせです。

パッケージ・モノレポ

npm

JavaScript パッケージのレジストリーと標準的な管理クライアント。依存パッケージの公開、取得、スクリプト実行、バージョン固定を担う。

何を担当する?

依存パッケージの公開、取得、スクリプト実行、バージョン固定を担う。

いつ使う?

  • Node.js生態系のパッケージを最も標準的な方法で扱うとき。

避けたい場面

  • JavaScript以外の言語だけで依存管理するとき。
パッケージ・モノレポ

Yarn

ワークスペースと拡張可能な解決方式を持つパッケージ管理機能。依存取得、ロック、ワークスペース、Plug'n'Playなどを提供する。

何を担当する?

依存取得、ロック、ワークスペース、Plug'n'Playなどを提供する。

いつ使う?

  • 既存Yarn プロジェクトか高度なワークスペース機能を使うとき。

避けたい場面

  • 標準npm運用で十分な小規模プロジェクトへ新たに導入するとき。
DIRECT RELATION

npmとYarnはJavaScript依存関係とワークスペース管理で比較される。依存パッケージの公開、取得、スクリプト実行、version固定を担う。一方、Yarnは依存取得、lock、ワークスペース、Plug'n'Playなどを提供する。