[Composer]composer updateで特定パッケージのみ更新する

カテゴリ: composer

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パッケージが同時に更新されることが分かります。


Modern PHP

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。