Skip to content
Latchkey

依存関係のベンダリングとは?

ベンダリングとは、ビルドのたびに外部レジストリからダウンロードするのではなく、サードパーティの依存関係のコピーを自分のソースリポジトリにチェックインするプラクティスです。ビルドはコミット済みのローカルコピーを使用します。これにより、upstreamのレジストリがダウンしていたりバージョンが消えたりしても、正確なコードが変更されずに利用可能であることが保証されます。

なぜ重要か

ベンダリングはレジストリの障害や取り下げられたパッケージに対してビルドを耐性のあるものにし、依存関係の変更をコードレビューで可視化します。トレードオフはリポジトリが大きくなることと、ベンダリングしたコピーを最新に保つ手作業であり、チームはこれをlockfileとキャッシングプロキシの組み合わせと比較検討します。

関連する概念

  • ビルドごとにレジストリから取得する方式の代替
  • ビルドの密閉性と再現性を向上させる
  • lockfileはより軽量な固定の手法

関連ガイド