Composerの2.0がリリースされました。2.0ではパッケージの並列インストールやプロトコルの改善などにより速度やメモリのパフォーマンスが大きく改善されました。
require/remove
などを実行した時パッケージのメタデータのみを読み込むようになっため更に早くなったようです。
https://blog.packagist.com/composer-2-0-is-now-available/
composer self-update --2
コマンドを叩くとアップデートされます。
$ composer self-update --2
Updating to version 2.0.2 (stable channel).
Downloading (100%)
Use composer self-update --rollback to return to version 1.9.0
バージョンによって2.xに切り替わらない場合はcomposer self-update
を試してください。
アップデート後意図しない動作になった場合はロールバックを行うことができます。
composer self-update --rollback
composer2.xはLaravelの環境によってビルドが失敗するようになります。 Laravelをアップデートすることで解消するのですが、手取り早くcomposerのバージョンを1.xに戻すコマンドも紹介します。
$ composer self-update --1
Upgrading to version 1.10.16 (1.x channel).
Use composer self-update --rollback to return to version 2.0.2
composer self-update --1
を叩くことで戻すことができました。
composerの1.x
とくらべると2.0
は速くなったことを体感できます。
本番環境で動かしてるプロジェクトで試してみると、アップデート前は120秒近くかかっていたのに対し、アップデート後は90秒近くになりました。