カテゴリ: PHP
記事投稿日: 2017年1月11日
便利ですが、重たい PHP のパッケージマネージャの Composer を、とても早くできる方法をまとめました。
結論から言うと、ご紹介するコマンドを2回たたくだけで、次のことが可能になります。
↓
・Composer の通常通信: 地球220周分の通信 -> 2周分までにおさえられる
・Composer の通常通信: シングルスレッドの通信 -> プラグインで、並列ダウンロードできる
composer config -g repos.packagist composer https://packagist.jp
↓
解除する場合
composer config -g --unset repos.packagist
composer global require "hirak/prestissimo:^0.3"
↓
解除する場合
composer global remove hirak/prestissimo
「PHPカンファレンス関西2016」で発表された資料の手順を抜粋し、最新化したものです(2017年1月現在)。
↓
『Composerを速くするために必要だったもの』
https://speakerdeck.com/hirak/composer-keynote|
何をしているかは、スライドを見ていただくのが一番いいのですが、時間のない方に、ダイジェストを….ざっくり説明します。
composer のリポジトリは、フランスにあります。
アジア圏は物理的に、約8,000km も離れています。
また、さまざまな通信的成約から、通常、地球220周分もの通信が行われるため遅くなっている、ということです。
そこで、このリポジトリのミラーサイトを日本に作ってくれたのが、資料の作成者である hirak さんです。
このミラーサイトを経由すれば、地球220周分→ 2周分までに物理的な距離が削減されます。
また、composer の通信はシングルスレッドなのですが、curl で並列ダウンロードさせるためのプラグインを作ってくれたのが、またまた hirak さんです。
GitHub でのスターは2300を超え、いまや世界の hirak と呼ばれているそうです。
気に入られたら、GitHubの https://github.com/hirak/prestissimo で star を押してあげましょう。
既に2400近いstarが集まっていて、PHP界ではかなり盛り上がっています。
昨年(2016年)のカンファレンスでこの資料があがってから、すごい、と感激したものの、なかなか実行にうつせませんでした。
あと、スライドで紹介されている、プラグイン導入のコマンドが現在は古くなっているので、更新しています。
コメントを残す