Travis CI:为什么composer有时安装整个包,而有时不安装



有时Travis CI在构建我的包时,会有一个简短的依赖项列表,如下所示:

$ composer install --prefer-source --no-interaction --dev
You are using the deprecated option "--dev". It has no effect and will break in Composer 3.
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating optimized autoload files
> IlluminateFoundationComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: intervention/image
Discovered Package: kitloong/laravel-migrations-generator
Discovered Package: laravel/breeze
Discovered Package: laravel/cashier
Discovered Package: laravel/sail
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Discovered Package: simplesoftwareio/simple-qrcode
Discovered Package: vemcogroup/laravel-sparkpost-driver
Package manifest generated successfully.

有时会有一个巨大的列表,比如:

$ composer install --prefer-source --no-interaction --dev
You are using the deprecated option "--dev". It has no effect and will break in Composer 3.
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Package operations: 0 installs, 48 updates, 0 removals
- Syncing symfony/polyfill-ctype (v1.22.1) into cache
- Syncing webmozart/assert (1.10.0) into cache
- Syncing symfony/polyfill-php72 (v1.22.1) into cache
- Syncing symfony/polyfill-intl-normalizer (v1.22.1) into cache
- Syncing symfony/polyfill-intl-idn (v1.22.1) into cache
- Syncing symfony/polyfill-php80 (v1.22.1) into cache
- Syncing symfony/polyfill-mbstring (v1.22.1) into cache
- Syncing symfony/var-dumper (v5.2.5) into cache
- Syncing symfony/polyfill-intl-grapheme (v1.22.1) into cache
- Syncing symfony/string (v5.2.4) into cache
- Syncing psr/container (1.1.1) into cache
- Syncing symfony/polyfill-php73 (v1.22.1) into cache
- Syncing symfony/console (v5.2.5) into cache
- Syncing vlucas/phpdotenv (v5.3.0) into cache
- Syncing symfony/css-selector (v5.2.4) into cache
- Syncing symfony/routing (v5.2.4) into cache
- Syncing symfony/process (v5.2.4) into cache
- Syncing symfony/mime (v5.2.5) into cache
- Syncing symfony/http-foundation (v5.2.4) into cache
- Syncing symfony/event-dispatcher (v5.2.4) into cache
- Syncing symfony/error-handler (v5.2.4) into cache
- Syncing symfony/http-kernel (v5.2.5) into cache
- Syncing symfony/finder (v5.2.4) into cache
- Syncing symfony/polyfill-iconv (v1.22.1) into cache
- Syncing swiftmailer/swiftmailer (v6.2.7) into cache
- Syncing ramsey/collection (1.1.3) into cache
- Syncing brick/math (0.9.2) into cache
- Syncing symfony/translation (v5.2.5) into cache
- Syncing nesbot/carbon (2.46.0) into cache
- Syncing league/mime-type-detection (1.7.0) into cache
- Syncing laravel/framework (v8.33.0) into cache
- Syncing filp/whoops (2.10.0) into cache
- Syncing facade/flare-client-php (1.4.0) into cache
- Syncing facade/ignition (2.5.14) into cache
- Syncing asm89/stack-cors (v2.0.3) into cache
- Syncing guzzlehttp/promises (1.4.1) into cache
- Syncing laravel/breeze (v1.1.3) into cache
- Syncing symfony/polyfill-intl-icu (v1.22.1) into cache
- Syncing symfony/intl (v5.2.4) into cache
- Syncing stripe/stripe-php (v7.75.0) into cache
- Syncing laravel/cashier (v12.10.0) into cache
- Syncing laravel/sail (v1.4.8) into cache
- Syncing psy/psysh (v0.10.7) into cache
- Syncing laravel/tinker (v2.6.1) into cache
- Syncing mockery/mockery (1.4.3) into cache
- Syncing nunomaduro/collision (v5.3.0) into cache
- Syncing phar-io/version (3.1.0) into cache
- Syncing phpunit/phpunit (9.5.2) into cache
- Upgrading symfony/polyfill-ctype (v1.22.0 => v1.22.1): Checking out c6c942b1ac from cache
- Upgrading webmozart/assert (1.9.1 => 1.10.0): Checking out 6964c76c78 from cache
- Upgrading symfony/polyfill-php72 (v1.22.0 => v1.22.1): Checking out cc6e6f9b39 from cache
- Upgrading symfony/polyfill-intl-normalizer (v1.22.0 => v1.22.1): Checking out 43a0283138 from cache
- Upgrading symfony/polyfill-intl-idn (v1.22.0 => v1.22.1): Checking out 2d63434d92 from cache
- Upgrading symfony/polyfill-php80 (v1.22.0 => v1.22.1): Checking out dc3063ba22 from cache
- Upgrading symfony/polyfill-mbstring (v1.22.0 => v1.22.1): Checking out 5232de97ee from cache
- Upgrading symfony/var-dumper (v5.2.1 => v5.2.5): Checking out 002ab5a367 from cache
- Upgrading symfony/polyfill-intl-grapheme (v1.22.0 => v1.22.1): Checking out 5601e09b69 from cache
- Upgrading symfony/string (v5.2.1 => v5.2.4): Checking out 4e78d7d470 from cache
- Upgrading psr/container (1.0.0 => 1.1.1): Checking out 8622567409 from cache
- Upgrading symfony/polyfill-php73 (v1.22.0 => v1.22.1): Checking out a678b42e92 from cache
- Upgrading symfony/console (v5.2.1 => v5.2.5): Checking out 938ebbadae from cache
- Upgrading vlucas/phpdotenv (v5.2.0 => v5.3.0): Checking out b3eac5c7ac from cache
- Upgrading symfony/css-selector (v5.2.1 => v5.2.4): Checking out f65f217b33 from cache
- Upgrading symfony/routing (v5.2.1 => v5.2.4): Checking out cafa138128 from cache
- Upgrading symfony/process (v5.2.1 => v5.2.4): Checking out 313a38f09c from cache
- Upgrading symfony/mime (v5.2.1 => v5.2.5): Checking out 554ba128f1 from cache
- Upgrading symfony/http-foundation (v5.2.1 => v5.2.4): Checking out 54499baea7 from cache
- Upgrading symfony/event-dispatcher (v5.2.1 => v5.2.4): Checking out d08d6ec121 from cache
- Upgrading symfony/error-handler (v5.2.1 => v5.2.4): Checking out b547d3babc from cache
- Upgrading symfony/http-kernel (v5.2.1 => v5.2.5): Checking out b8c63ef63c from cache
- Upgrading symfony/finder (v5.2.1 => v5.2.4): Checking out 0d639a0943 from cache
- Upgrading symfony/polyfill-iconv (v1.22.0 => v1.22.1): Checking out 06fb361659 from cache
- Upgrading swiftmailer/swiftmailer (v6.2.5 => v6.2.7): Checking out 15f7faf850 from cache
- Upgrading ramsey/collection (1.1.1 => 1.1.3): Checking out 28a5c4ab2f from cache
- Upgrading brick/math (0.9.1 => 0.9.2): Checking out dff976c2f3 from cache
- Upgrading symfony/translation (v5.2.1 => v5.2.5): Checking out 0947ab1e3a from cache
RuntimeException]                                                           
Source directory /home/travis/build/SecretGroup/MEMBERSHIP-0.2/vendor/nesbot/carbon has uncommitted changes. 

两次都使用了相同的.travis.yml文件。那么,为什么一个认为没有什么可安装的,而另一个却试图安装很多软件包(然后失败了(呢?

Travis CI会缓存您的供应商文件夹,以使构建运行得更快(并减少不必要的流量(。如果您对composer.lock文件进行了一些更改,Travis CI可能需要更新供应商文件夹中存储的文件。

其他时候,它不需要这样做,因此构建时间会更短。

最新更新