Composer 2.0がリリース

公開:2020/10/24
更新:2020/10/29
1 min読了の目安(約1100字TECH技術記事

Composer 2.0 is now available!

インストール方法

通常のインストール方法はすでに2。


brewでも2。

インストール済composerを更新するには--2オプションを付ける。

composer self-update --2

Docker内では

COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

RUN composer self-update --2

もしくは2を指定。反映が遅いのでどっちにしろ更新はしたほうが良さそう。

COPY --from=composer:2 /usr/bin/composer /usr/bin/composer

RUN composer self-update --2

その他。
GitHub Actionsのshivammathur/setup-php@v2は2。
Travisは何もしなければまだ1。→2に変わっていた。

速い

日本からcomposerを使うと遅すぎて使い物にならないのでプラグインやpackagistミラーで高速化してたけど2は十分速いので全部外して良さそう。
自分で作ってたミラーも終了させた。

互換も問題なさそうなのですぐに全部2に上げた。

packagistミラー

もう不要だけどpackagistミラーは一度自分で作ってみると普段できないことができて楽しい。
今のパッケージ数は30万くらい。


パッケージ一つに対してjsonファイルが一つ。
ミラーではこれを全部ダウンロードすることになる。
許可された形でこれだけ大量のダウンロードは今の時代ではもう中々できない。

一度ダウンロードすれば後は差分だけなのでそんなに負荷は高くない。
最初はAWS S3使ってたのでS3との同期が一番負荷が高かった。
AWSのcliツールはPython製。複数プロセス使ったり普通なら問題ないけど2,30万ファイルの同期となるともっと強いサーバーが必要そうだった。
Go製のcliツールは見つけたけど非公式なので試さないままS3使うほうを止めた。