Skip to content
Latchkey

package-lock.jsonとは?

package-lock.jsonの解説。何をするもので、CI/CDでどう重要かを含みます。

package-lock.jsonは、npmプロジェクトの正確で完全に解決された依存関係ツリーを記録します。

何であるか

直接および推移的なすべての依存関係を特定のバージョンとインテグリティハッシュに固定するため、インストールはマシン間で再現可能になります。

CI/CDで重要な理由

CIはnpm ciを使います。これはpackage-lock.jsonから厳密にインストールし、package.jsonと同期していなければ失敗します。lockfileをcommitすることこそが、CIのビルドを決定論的にするのです。

重要なポイント

  • package-lock.jsonは正確な依存関係ツリーを固定します。
  • npm ciはそこから厳密にインストールします。
  • 再現可能なCIのためにcommitしましょう。

関連ガイド