BETA

[PHP][composer] install を4分から45秒に高速化する例

投稿日:2019-04-16
最終更新:2019-04-16

(調整前) 4m8.477s
(調整後) 45s

の改善に成功。

環境

  • macOS Mojave 10.14.4
  • PHP 7
  • Composer version 1.8.5 2019-04-09 17:46:47
  • Docker version 18.09.2, build 6247962
  • docker-compose version 1.23.2, build 1110ad01

ポイント

  • docker コンテナ内でなく ホストOS側で composer install を済ませる
  • 高速化モジュール(に限らないと思われる)は packagist のリポジトリ取得先を packagist.jp に変える前に入れる

Dockerfile で言うと

https://github.com/sogaoh/LaravelPractice/blob/master/docker/php/Dockerfile#L27-L29

対応手順

  • (1) composer.json・composer.lock のあるインストールに移動
    • cd /path/to/dir[composer.json exists]
  • (2) ホストOSに composer のインストール
    • curl -sS https://getcomposer.org/installer | php
    • sudo mv composer.phar /usr/local/bin/composer
  • (3) 高速化モジュールのインストール
    • composer global require hirak/prestissimo
  • (4) packagist リポジトリ 参照先の変更
    • composer config -g repositories.packagist composer http://packagist.jp
  • (5) ホストOS で composer install
    • 時間計測するなら time composer install
  • (6) docker-compose コマンド等でコンテナ起動

情報

Note

  • config のリセット
    • composer config -g --unset repositories.packagist
  • config の確認
    • composer config --list
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@sogaohの技術ブログ

よく一緒に読まれる記事

1件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
04/24 11:33

この件、環境全体に適用すると弊害ありそう
その場合は composer config -g --unset repositories.packagist でリセット。。

目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!