読者です 読者をやめる 読者になる 読者になる

$yuzu->log();

技術ネタなど。

【PHP】たった1行コマンドを入力するだけでComposerを劇的に速くする方法【アジア圏限定】

Composer PHP

f:id:yuzurus:20151129163147p:plain

PHPerで使っていない人はいないというぐらい、メジャーなPHPの依存管理ツールComposer。 ですが、動作が遅いという欠点があります。 Composerが遅い原因は主に下記だそうです。

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

Qiita

またある日@cakephperさんがこんなことを呟いていました。

そしたら、packagistのミラーサイト作ればいいんじゃね?と思い、作ろうと思っていたところ、すでに@hirakuさんが作っていたので、こっちに乗っかりました。

するとびっくり。composer爆速になりました。

packagistのミラーサイトをComposerへ導入する

下記のコマンドを打つだけで幸せになります

composer config -g repositories.packagist composer http://packagist.jp

packagist.jpを導入するにあたっての注意点

  • packagist.jpはpackagist.orgと1日1回同期しているようです。ほぼ最新ですが、ほぼという点をお忘れなく
  • packagist.jpはさくらVPS(日本)で運用しているため、爆速になるのはアジア圏でComposerを使った場合のみです
  • やはり元のリポジトリを参照したい、となったら下記のコマンドを打ってください
composer config -g --unset repositories.packagist