こんにちは!エンジニアの君島です。ギークフィードでは全社的にLaravel PHPを使用した開発を推進しています。
今回はLaravelを使って開発していてついつい忘れてしまったり、調べたりする頻度が高いcomposer install, composer update, composer requireなどのコマンドの動作についてまとめておきます。
また、基本的なユースケースについても解決手段の一例を記載しておきます。
目次
Composerとは
PHPでのライブラリの依存関係を管理・解決するためのツールです。(A Dependency Manager for PHP)
Composer本家の情報を掲載しておきます。
ソフトウェアだけでなく、上記ページのコンテンツも全て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
カジュアル面談も実施中!
ギークフィードではAWSエンジニアを募集しています。
弊社に興味を持っていただいたり、会社のことをカジュアルに聞いてみたいという場合でも、ご気軽にフォームからお問い合わせください。その場合はコメント欄に、カジュアルにお話したいです、と記載ください!
- CLIでAmazon S3にあるファイル内の文字列検索をしてみる - 2024-02-01
- 不完全なマルチパートアップロードをCLIで確認してS3の無駄コストを無くそう - 2024-01-29
- AlmaLinux9.3にPHP8.3を入れてLaravel9から10にバージョンアップする - 2024-01-12
- AWS CloudShellの表現力を確認してみよう - 2024-01-01
- AWSのアーキテクチャーを学べるAWS Card Clash攻略Wiki - 2023-12-26