Skip to content
Latchkey

lockfileとは?

lockfileは、プロジェクトが解決したすべての直接依存関係と推移的依存関係の正確なバージョン、そして多くの場合暗号学的ハッシュを固定する、生成されるファイルです。package-lock.json、yarn.lock、Cargo.lockのようなファイルにより、どのマシンでも同一の依存関係ツリーを再インストールできます。これらはビルドを決定的にし、予期しないupstreamの変更から保護します。

なぜ重要か

manifest内のバージョン範囲はインストールごとに異なる解決結果になることがあり、「自分のマシンでは動く」というバグやサプライチェーンのリスクを引き起こします。コミットされたlockfileは解決結果を固定するため、CIは開発者がテストしたものと正確に同じものをインストールし、記録されたハッシュが改ざんを検出します。

関連する概念

  • 直接依存だけでなく推移的依存も捕捉する
  • ハッシュが整合性の検証を提供する
  • CIでフローズンインストールモードを使って強制する

関連ガイド