composer updateとcomposer installの違い
PHPの依存管理ツールComposerについて。
composer update
composer.jsonをもとに各ライブラリを最新版に更新し、composer.lockを生成する。composer.lockにはインストールした各ライブラリのバージョン情報が記載される。
composer install
各ライブラリについて、composer.lockに記載されているバージョンをインストールする。composer.lockが存在しない場合はcomposer update
と同じ効果。
使い分け
composer update
はライブラリを最新版に更新するが、composer install
はcomposer.lockに記載された特定のバージョンをインストールする。
ライブラリをいきなり最新版に更新すると不具合が出る場合があるので、まず開発環境でcomposer update
を実行してから、システムに問題が出ていないことを確認する。問題なければ、開発環境で生成されたcomposer.lockを本番環境にコピーして、本番環境ではcomposer install
だけを実行する。本番環境でcomposer update
を実行してしまうと、ライブラリが最新版になって思わぬ不具合が出ることがある。
また、composer.lockを開発チーム内で共有すれば、各メンバーが使っているライブラリのバージョンを完全に揃えることができる。