July 10, 2014

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を開発チーム内で共有すれば、各メンバーが使っているライブラリのバージョンを完全に揃えることができる。

Posted by Nao Iizuka <iizuka@kyu-mu.net>
Powered by Bitter