2017-11-16 8 views
2

プロジェクトでcomposer installプロセスを最適化しようとしています。私はPrestissimoをインストールし、私のdevの依存関係を 'require-dev'に移動し、composer.jsonファイルの 'preferred-install'を 'dist'に設定しました。このすべてがインストールを4分から2分に短縮しました。なぜComposerでキャッシュからいくつかの依存関係をロードし、キャッシュからいくつかの 'クローン'を作成します

私の依存関係には、Gitlab上にある私自身の個人リポジトリの一部が含まれています。そして、私が作者のインストールプロセスを見ると、私のreposは 'キャッシュからクローンを作成する'と言っています。キャッシュからロードし、処理をかなり即座に完了します。だから私の質問はどのように私はスピードアップするために、キャッシュから自分のパッケージのロード」を作ることができている。ここ

はcomposer.json

{ 
    "name": "my-project", 
    "description": "My Project", 
    "minimum-stability": "stable", 
    "require": { 
     "toruinteractive/ti-cms": "0.13.1" 
    }, 
    "require-dev" : { 
     "yiisoft/yii2-debug": "^[email protected]" 
    }, 
    "config": { 
     "fxp-asset": { 
      "installer-paths": { 
      "npm-asset-library": "vendor/npm", 
      "bower-asset-library": "vendor/bower" 
      } 
     }, 
     "process-timeout": 1800, 
     "preferred-install" : "dist" 
    }, 
    "extra": { 
     "require-bower" : { 
      "angular-elastic" : "2.5.*", 
      "angular-trix" : "1.0.2", 
      "aos":"2.1.1", 
      "handlebars" : "4.0.*", 
      "bootstrap-toggle" : "^2.2.2", 
      "image-map-resizer" : "1.0.*" 
     } 
    }, 
    "repositories": [ 
     { "type": "git", "url" : "[email protected]:ti-cms/ti-banner.git" }, 
     { "type": "git", "url" : "[email protected]:ti-cms/ti-blog.git" }, 
     { "type": "git", "url" : "[email protected]:ti-cms/ti-suggest.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-cms.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-dashboard.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-file.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-image.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-export-import.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-login.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-navbar.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-page.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-search.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-slides.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-superadmin.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-translator.git" }, 
     { "type": "git", "url": "[email protected]:ti-cms/ti-tree.git" } 
    ] 
} 

だとここでcomposer install出力です...

ghost$ composer install 
Loading composer repositories with package information 
Installing dependencies (including require-dev) from lock file 
Package operations: 45 installs, 0 updates, 0 removals 
    - Installing yiisoft/yii2-composer (2.0.5): Loading from cache 
    - Installing bower-asset/jquery (3.2.1): Loading from cache 
    - Installing bower-asset/bootstrap (v3.3.7): Loading from cache 
    - Installing bower-asset/inputmask (3.3.10): Loading from cache 
    - Installing bower-asset/punycode (v1.3.2): Loading from cache 
    - Installing bower-asset/yii2-pjax (2.0.7.1): Loading from cache 
    - Installing cebe/markdown (1.1.2): Loading from cache 
    - Installing ezyang/htmlpurifier (v4.9.3): Loading from cache 
    - Installing psr/log (1.0.2): Loading from cache 
    - Installing monolog/monolog (1.23.0): Loading from cache 
    - Installing paragonie/random_compat (v2.0.11): Loading from cache 
    - Installing phenx/php-font-lib (0.4): Loading from cache 
    - Installing phenx/php-svg-lib (0.1): Loading from cache 
    - Installing phpoffice/phpexcel (1.8.1): Loading from cache 
    - Installing yiisoft/yii2 (2.0.13.1): Loading from cache 
    - Installing bower-asset/jquery-ui (1.11.4): Loading from cache 
    - Installing yiisoft/yii2-jui (2.0.6): Loading from cache 
    - Installing yiisoft/yii2-bootstrap (2.0.7): Loading from cache 
    - Installing yiisoft/yii2-httpclient (2.0.5): Loading from cache 
    - Installing yiisoft/yii2-authclient (2.1.4): Loading from cache 
    - Installing toruinteractive/ti-tree (0.13.1): Cloning 867ff3625c from cache 
    - Installing toruinteractive/ti-translator (0.13.1): Cloning eec41060e4 from cache 
    - Installing toruinteractive/ti-superadmin (0.13.1): Cloning a783cd0bb9 from cache 
    - Installing toruinteractive/ti-suggest (0.13.1): Cloning b52895d1ab from cache 
    - Installing toruinteractive/ti-slides (0.13.1): Cloning e0a5f9738f from cache 
    - Installing toruinteractive/ti-search (0.13.1): Cloning a2e1f8ac89 from cache 
    - Installing toruinteractive/ti-page (0.13.1): Cloning 9b3653a648 from cache 
    - Installing toruinteractive/ti-navbar (0.13.1): Cloning 711fe81e0a from cache 
    - Installing toruinteractive/ti-login (0.13.1): Cloning e7f64c010b from cache 
    - Installing imagine/imagine (v0.6.3): Loading from cache 
    - Installing flowjs/flow-php-server (v1.0.3): Loading from cache 
    - Installing toruinteractive/ti-image (0.13.1): Cloning 5089e00de0 from cache 
    - Installing toruinteractive/ti-file (0.13.1): Cloning 68ec65c025 from cache 
    - Installing arogachev/yii2-excel (0.1.1): Loading from cache 
    - Installing toruinteractive/ti-export-import (0.13.1): Cloning cd8309c01d from cache 
    - Installing toruinteractive/ti-dashboard (0.13.1): Cloning ccb9d159e4 from cache 
    - Installing toruinteractive/ti-blog (0.13.1): Cloning e0d3296d01 from cache 
    - Installing toruinteractive/ti-banner (0.13.1): Cloning cadf895998 from cache 
    - Installing sentry/sentry (0.17.0): Loading from cache 
    - Installing ramsey/uuid (3.7.1): Loading from cache 
    - Installing mandrill/mandrill (1.0.55): Loading from cache 
    - Installing fightbulc/moment (1.26.10): Loading from cache 
    - Installing dompdf/dompdf (v0.7.0): Loading from cache 
    - Installing toruinteractive/ti-cms (0.13.1): Cloning 6fd9d9fe53 from cache 
    - Installing yiisoft/yii2-debug (dev-master b2cd366): Loading from cache 
Generating autoload files 

私のインストールプロセスですか?

答えて

1

これは、git reposとdistパッケージ(zip/tar)を複製するgit reposとprepareパッケージの違いだと思います。キャッシュされたら、zipファイルを解凍するだけで完了します。

gitリポジトリの場合、クローニングはもう少し時間がかかる操作です。ネットワーク上でキャッシュされたリポジトリが最新の状態になっていることを確認してから、作業ディレクトリのクローンに実際にキャッシュされたリポジトリを実行している可能性があります。

あなた自身のパッケージをキャッシュからロードする場合は、dist(zip/tar)形式で配布してみてください。

関連する問題