ロックファイル【lock file】

概要

ロックファイルとはある資源が使用中であることを示すための制御用ファイル、または、ソフトウェア開発で使うパッケージの版情報を固定するための管理ファイルのこと。前者は排他制御、後者は依存関係の再現を目的としており、用途が異なる。

排他制御のロックファイル

排他制御のロックファイルは、複数のプログラムや利用者が同じファイルデータベースを同時に更新し、内容が壊れることを防ぐために用いられる。処理の開始時に専用のファイルを生成し、その存在によって他のプログラムに使用中であることを伝える仕組みである。

処理を始める前に他のプログラムはロックファイルの有無を確認し、既に存在していれば自らの実行を待機か中断する。存在していなければファイルを生成してから処理に入り、終了後は自動的に削除して次の処理に備える。この制御により、同一データへの同時書き込みによる不整合や、パソコンやサーバの多重起動による誤動作を防ぐことができる。異常終了によってファイルだけが残る場合もあり、一定時間の経過後に無効と判断する仕組みなどを組み合わせることも多い。

パッケージ管理のロックファイル

パッケージ管理システムのロックファイルは、プロジェクトで使う外部ライブラリの正確なバージョンや取得先、検証用のハッシュ値を記録するファイルである。npmの「package-lock.json」やYarnの「yarn.lock」、Rustの「Cargo.lock」などが該当する。

開発時に指定するバージョンは「1.5.0以上2.0.0未満」のように範囲を持たせることが多く、インストールの実行時期によって実際に導入される版が変わり得る。ロックファイルはそのとき選択された厳密な版をそのまま記録することで、開発者の端末と本番環境での構成のずれを防ぐ。

ロックファイルを適切に記録・管理することで、プロジェクトを共有した別の開発者や、後日あらためて環境を構築する場合でも、同じ依存関係を再現しやすくなる。近年ではソフトウェアの供給網全体の安全性を高める観点からも重視されており、取得したパッケージの改竄を検出する機能を備える形式も広がっている。

(2026.7.22更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。