composer install, update, requireの違いと使用例


こんにちは!エンジニアの君島です。ギークフィードでは全社的にLaravel PHPを使用した開発を推進しています。

今回はLaravelを使って開発していてついつい忘れてしまったり、調べたりする頻度が高いcomposer install, composer update, composer requireなどのコマンドの動作についてまとめておきます。

また、基本的なユースケースについても解決手段の一例を記載しておきます。

 

Composerとは

PHPでのライブラリの依存関係を管理・解決するためのツールです。(A Dependency Manager for PHP)

Composer本家の情報を掲載しておきます。

https://getcomposer.org/

ソフトウェアだけでなく、上記ページのコンテンツも全てMIT Licenseでもあります。

https://github.com/composer/composer/blob/master/LICENSE

 

開発時によく使うパッケージインストールコマンド早見表

 

コマンド どこで使う? composer.json操作 composer.lock操作
composer install 本番環境 read only read only

(install the exact versions from there)

composer update 開発環境 read only write

(write the exact versions and install)

composer require 開発環境 write

(add new packages)

write

(write the exact versions and install)

 

ユースケース

以下の場合にはそれぞれ開発環境と本番環境で以下のようなコマンドを実行します。

新しいパッケージをバージョン指定して追加したい

開発環境 本番環境
 composer require hoge/hoge:X.X.X  composer install

 

インストール済みのパッケージのバージョンを下げたい

開発環境 本番環境
 composer require hoge/hoge:X.X.x  composer install

 

インストール済みのパッケージを削除したい

開発環境 本番環境
 composer remove hoge/hoge  composer install

 

まとめと補足

PHPの開発環境と本番環境でよく使用するcomposer install, composer update, composer requireの動作の違いを一目で理解する早見表とよくある基本的なユースケースを記載してます。

ユースケースは一例として記載しましたが、上記以外のやり方も存在しています。早見表に書いた通り、各コマンドの動作の仕組みが分かれば、異なるコマンドで同様の結果を実現できることも分かるかと思います。

また、細かい操作や制御をしたい場合は他のコマンドやオプションを有効に使いましょう。

https://getcomposer.org/doc/03-cli.md

この記事が気に入ったら
いいね ! しよう

Twitter で
The following two tabs change content below.
君島翔
君島翔
AI事業部事業部長株式会社ギークフィード
Java, .NET系の言語が得意。Laravelも使います。 エディタはvim派。 自分が楽するためにテストやビルド、デプロイを自動化させたい。 2022 AWS Partner Ambassador / 2022 APN AWS Top Engineer / 2022 APN All AWS Certifications Engineer

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ