Composer php 在Composer中,为什么会有一些依赖项';加载';从缓存和一些';克隆';从缓存

Composer php 在Composer中,为什么会有一些依赖项';加载';从缓存和一些';克隆';从缓存,composer-php,Composer Php,我正试图在项目上优化我的composer安装过程。我已经安装了Prestissimo,将所有的开发依赖项移到了“require dev”中,并在我的composer.json文件中将“preferred install”设置为“dist”。所有这些都将安装时间从~4分钟缩短到~2分钟 我的依赖项包括我自己在Gitlab上的一些私有repo,当我看到composer安装过程时,我的repo会说“从缓存克隆”并花几秒钟来处理,而所有其他依赖项都会说“从缓存加载”,并几乎立即处理 这是composer

我正试图在项目上优化我的
composer安装过程。我已经安装了Prestissimo,将所有的开发依赖项移到了“require dev”中,并在我的
composer.json
文件中将“preferred install”设置为“dist”。所有这些都将安装时间从~4分钟缩短到~2分钟

我的依赖项包括我自己在Gitlab上的一些私有repo,当我看到composer安装过程时,我的repo会说“从缓存克隆”并花几秒钟来处理,而所有其他依赖项都会说“从缓存加载”,并几乎立即处理

这是composer.json

{
    "name": "my-project",
    "description": "My Project",
    "minimum-stability": "stable",
    "require": {
        "toruinteractive/ti-cms": "0.13.1"
    },
    "require-dev" : {
        "yiisoft/yii2-debug": "^2.0@dev"
    },
    "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" : "git@gitlab.com:ti-cms/ti-banner.git" },
        { "type": "git", "url" : "git@gitlab.com:ti-cms/ti-blog.git" },
        { "type": "git", "url" : "git@gitlab.com:ti-cms/ti-suggest.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-cms.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-dashboard.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-file.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-image.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-export-import.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-login.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-navbar.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-page.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-search.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-slides.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-superadmin.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-translator.git" },
        { "type": "git", "url":  "git@gitlab.com:ti-cms/ti-tree.git" }
    ]
}
这里是
composer安装
输出

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

因此,我的问题是如何让我自己的软件包从缓存中“加载”以加快安装过程?

我认为这就是git repo和准备好的软件包之间的区别,即克隆git repo和dist(zip/tar)文件。一旦缓存了zip文件,只需解压缩即可

对于git repo,克隆是一项需要更多时间的操作,它可能通过网络确保缓存的repo仍然是最新的,然后对工作目录克隆执行实际的缓存repo

如果您希望从缓存加载自己的包,请尝试以dist(zip/tar)格式分发它们