PHPでComposerを使用した外部パッケージ管理を行っているとき、composer update
コマンドを使用することで、パッケージのバージョンアップをまとめて行うことができます。
ですが、テストの都合などで全てのパッケージを一度に最新にせず、特定パッケージのみバージョンアップしたい場合もあります。
このような場合は、以下のようにオプションを指定すると良いです。
特定パッケージのみアップデートする
'composer require'の後にパッケージ名を指定すれば、指定したパッケージのみアップデートできます。
composer require aws/aws-sdk-php
アップデートするパッケージをワイルドカードで指定する
特定ベンダーの全パッケージを一括でアップデートしたい場合は、ワイルドカードも使えます。この指定方法は、社内のプライベートパッケージを一括でアップデートしたいときに使うと便利です。
composer require aws/*
依存パッケージもアップデートされるか事前チェックする
パッケージを指定しても、依存パッケージのバージョンは同時に更新されてしまう可能性があります。
このような場合は、--dry-run
オプションをつけて実行すれば、実際のパッケージ更新は行わずに、事前チェックだけ行うことができます。
$ composer update --dry-run aws/aws-sdk-php
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 1 update, 0 removals
- Installing symfony/event-dispatcher (v3.3.13)
- Installing guzzle/guzzle (v3.0.7)
- Updating aws/aws-sdk-php (3.39.2) to aws/aws-sdk-php (2.0.3)
symfony/event-dispatcher suggests installing symfony/dependency-injection ()
symfony/event-dispatcher suggests installing symfony/http-kernel ()
上記の例だと、依存関係の都合でsymfony/event-dispatcherとguzzle/guzzleパッケージが同時に更新されることが分かります。
こちらもおススメ