クリエイター:メタボ兔

ウェブやアプリの開発者で利用する色な技術やサーバーや開発環境の設定について共有する場

Composerの実行速度が遅い

概要

phpenvで開発環境を構成して使っていて、いつからか分からないがComposerのパッケージのダウンロードを含めて動作が遅くなりました。色々資料を調べた内容を纏めてみました。

Composerのアップデート

バージョンが1.2.X系であれば1.3.X系にバージョンアップする事をオススメします。composer自体の更新は下記のコマンドで実行出来ます。

$ composer self-update

packagistのミラーサーバを日本国内のサーバに変更

原因としては以下の三つだようです。

  • packagist.orgが日本から遠い
  • composerのアーキテクチャ的に、小さなjsonファイルを少しずつダウンロードするため、ネットワークの遅延がもろに影響する
  • composerがfile_get_contentsでjsonをダウンロードしていて、どうやらKeep-Aliveを使っていないし、並列ダウンロードもしていない

日本国内のサーバに変更する事でダウンロードの高速化を図ります。

% composer config -g repos.packagist composer https://packagist.jp

戻すときは以下のコンマンドを実行します。

% composer config -g --unset repos.packagist

Composerプラグインによる高速化

prestissimoというcomposerプラグインを利用する方法です。これは「packagistのミラーサーバを日本国内のサーバに変更」に記載した下記の問題を解消する為のプラグインのようです。

% composer global require hirak/prestissimo