composer.json と composer.lock、install と update の違い
composer.json とは
composer.json には、必要な「パッケージ」「バージョン」の条件が記述されています。
composer.lock とは
composer.json を元にインストールされたパッケージなどが具体的に記述されています。この lock ファイルを利用すれば、同じ環境を作ることができます。composer.json だけでは、インストールされるパッケージの条件が変わることがあります。
composer.json の作り方
composer.json は composer コマンドにて作成することができます。インストールしたいパッケージのマニュアルに合わせて作成します。
composer install と composer update の違い
composer install は、最初のインストールで利用します。lock ファイルがあると、そちらの情報を元にインストールされます。composer update は composer.json の情報を元に、更新させる時に利用します。
コマンド | composer.lock | 動作 |
composer install | あり | composer.lock を元にインストール |
composer install | なし | composer.json を元にインストール composer.lock が作成されます |
composer update | あり | composer.json を元にアップデート composer.lock が更新されます |