IT用語
パッケージマネージャーが、実際に入れた依存パッケージのバージョンを記録するファイル。package-lock.jsonなど。
ロックファイルは、npm や Composer などのパッケージマネージャーが、実際に入れた 依存関係 のパッケージと、その正確なバージョンを記録するファイルです。
主な例
- npm:package-lock.json
- Yarn:yarn.lock
- Composer(PHP):composer.lock
なぜ必要なのか
package.json などには「1.2 以上」のように幅を持たせてバージョンを書くことが多く、そのままだと入れるタイミングによって違うバージョンが入ります。ロックファイルがあれば、開発者のパソコン・CI/CD・本番で、同じ組み合わせのパッケージを再現できます。
セキュリティとの関係
- 意図しない新しいバージョン(不正なコードが入ったものを含む)が勝手に入るのを防げる(サプライチェーン攻撃 への備え)
- 脆弱性 のスキャンツールは、ロックファイルを読んで、使っているバージョンに問題がないかを調べる
運用のポイント
- ロックファイルは リポジトリ にコミットする
- CI/CD では npm ci のように、ロックファイルどおりに入れるコマンドを使う
- 更新するときは、変更の差分を確認してから取り込む









