Editar: Conclusión: no se enumera ninguna solución aquí o, en general, parece ser a prueba de balas. Lo que en última instancia ayuda es usar composer de forma incremental, requiriendo o eliminando solo un paquete a la vez usando composer require
,composer remove
comandos, también se refiere a la adición de cualquier ajuste de "no-dependencia específica", cualquier biblioteca puede ser añadido / retirado por el bien de ella de actualización / actualizar la configuración de la caché de bloqueo composer.json.
Agrupando mi experiencia con respuestas de aquí y del enlace en cuestión.
Antes probé todas las soluciones mencionadas en esta pregunta hasta este momento. Sin embargo, todavía no me ayudó, aunque intenté / noté que la instalación de cualquier otra biblioteca individual era considerablemente rápida, así que seguí investigando las bibliotecas una por una que podrían causar el cuello de botella.
1) SÍ Y lo ubiqué como codeception,"codeception/codeception": "2.4.0",
Solo tardó casi 200 segundos, aunque ejecutarlo junto con otras bibliotecas parecía en ocasiones ejecutar casi 12 minutos. Además, el compositor no parece reflejar en tiempo real cuando, después de iniciar durante 20 segundos, ejecuta 0.35s y así sucesivamente.
[374.9MiB/173.14s] 39/45: https:
[374.9MiB/173.16s] 40/45: https:
[374.9MiB/173.17s] 41/45: https:
[374.9MiB/173.19s] 42/45: https:
[374.9MiB/173.20s] 43/45: https:
[374.9MiB/173.23s] 44/45: https:
[374.9MiB/173.24s] 45/45: https:
[374.9MiB/173.24s] Finished: success: 45, skipped: 0, failure: 0, total: 45
[374.8MiB/173.25s] Analyzed 6622 packages to resolve dependencies
[374.8MiB/173.25s] Analyzed 435842 rules to resolve dependencies
[374.8MiB/173.25s] Package operations: 54 installs, 0 updates, 0 removals
[374.8MiB/173.26s] Installs: sebastian/recursion-context:3.0.0, sebastian/exporter:3.1.2, doctrine/instantiator:1.3.0, phpunit/php-text-template:1.2.1, phpunit/phpunit-mock-objects:6.1.2, codeception/stub:1.0.4, sebastian/diff:3.0.2, sebastian/comparator:3.0.2, theseer/tokenizer:1.1.3, sebastian/version:2.0.1, sebastian/environment:3.1.0, sebastian/code-unit-reverse-lookup:1.0.1, phpunit/php-token-stream:3.1.1, phpunit/php-file-iterator:1.4.5, phpunit/php-code-coverage:6.0.5, sebastian/object-reflector:1.1.1, sebastian/object-enumerator:3.0.3, sebastian/global-state:2.0.0, phpunit/php-timer:2.1.2, symfony/polyfill-ctype:v1.17.0, webmozart/assert:1.8.0, phpdocumentor/reflection-common:2.1.0, phpdocumentor/type-resolver:1.1.0, phpdocumentor/reflection-docblock:5.1.0, phpspec/prophecy:v1.10.3, myclabs/deep-copy:1.9.5, sebastian/resource-operations:1.0.0, phar-io/version:1.0.1, phar-io/manifest:1.0.1, phpunit/phpunit:7.1.5, codeception/phpunit-wrapper:7.6.1, symfony/yaml:v4.4.8, behat/gherkin:v4.6.2, symfony/polyfill-mbstring:v1.17.0, symfony/dom-crawler:v4.4.8, symfony/css-selector:v4.4.8, symfony/browser-kit:v4.4.8, symfony/event-dispatcher-contracts:v1.1.7, psr/container:1.0.0, symfony/event-dispatcher:v4.4.8, symfony/service-contracts:v2.0.1, symfony/polyfill-php73:v1.17.0, symfony/console:v4.4.8, symfony/finder:v4.4.8, ralouphie/getallheaders:3.0.3, psr/http-message:1.0.1, guzzlehttp/psr7:1.6.1, guzzlehttp/promises:v1.3.1, symfony/polyfill-php72:v1.17.0, symfony/polyfill-intl-idn:v1.17.0, guzzlehttp/guzzle:6.5.3, symfony/process:v4.4.8, facebook/webdriver:1.7.1, codeception/codeception:2.4.0
[374.8MiB/173.28s] - Installing sebastian/recursion-context (3.0.0): [374.9MiB/173.28s] Loading from cache[374.9MiB/173.28s]
[374.9MiB/173.28s] Extracting archive[374.9MiB/173.51s] - Installing sebastian/exporter (3.1.2): [374.9MiB/173.52s] Loading from cache[374.9MiB/173.52s]
[374.9MiB/173.52s] Extracting archive[374.9MiB/173.75s] - Installing doctrine/instantiator (1.3.0): [374.9MiB/173.76s] Loading from cache[374.9MiB/173.76s]
[374.9MiB/173.76s] Extracting archive[374.9MiB/174.00s] - Installing phpunit/php-text-template (1.2.1): [374.9MiB/174.00s] Loading from cache[374.9MiB/174.00s]
[374.9MiB/174.00s] Extracting archive[374.9MiB/174.23s] - Installing phpunit/phpunit-mock-objects (6.1.2): [374.9MiB/174.23s] Loading from cache[374.9MiB/174.23s]
[374.9MiB/174.23s] Extracting archive[374.9MiB/174.55s] - Installing codeception/stub (1.0.4): [374.9MiB/174.56s] Loading from cache[374.9MiB/174.56s]
[374.9MiB/174.56s] Extracting archive[374.9MiB/174.80s] - Installing sebastian/diff (3.0.2): [374.9MiB/174.80s] Loading from cache[374.9MiB/174.80s]
[374.9MiB/174.80s] Extracting archive[374.9MiB/175.07s] - Installing sebastian/comparator (3.0.2): [374.9MiB/175.07s] Loading from cache[374.9MiB/175.07s]
[374.9MiB/175.07s] Extracting archive[374.9MiB/175.33s] - Installing theseer/tokenizer (1.1.3): [374.9MiB/175.33s] Loading from cache[374.9MiB/175.33s]
La carrera antes
Problem 1
- Installation request for codeception/codeception 2.4.0 -> satisfiable by codeception/codeception[2.4.0].
- Conclusion: remove symfony/finder v5.0.8
- Conclusion: don't install symfony/finder v5.0.8
- codeception/codeception 2.4.0 requires symfony/finder >=2.7 <5.0 -> satisfiable by symfony/finder[v2.7.0, v2.7.1, v2.7.10, v2.7.11, v2.7.12, v2.7.13, v2.7.14, v2.7.15, v2.7.16, v2.7.17, v2.7.18, v2.7.19, v2.7.2, v2.7.20, v2.7.21, v2.7.22, v2.7.23, v2.7.24, v2.7.25, v2.7.26, v2.7.27, v2.7.28, v2.7.29, v2.7.3, v2.7.30, v2.7.31, v2.7.32, v2.7.33, v2.7.34, v2.7.35, v2.7.36, v2.7.37, v2.7.38, v2.7.39, v2.7.4, v2.7.40, v2.7.41, v2.7.42, v2.7.43, v2.7.44, v2.7.45, v2.7.46, v2.7.47, v2.7.48, v2.7.49, v2.7.5, v2.7.50, v2.7.51, v2.7.6, v2.7.7, v2.7.8, v2.7.9, v2.8.0, v2.8.1, v2.8.10, v2.8.11, v2.8.12, v2.8.13, v2.8.14, v2.8.15, v2.8.16, v2.8.17, v2.8.18, v2.8.19, v2.8.2, v2.8.20, v2.8.21, v2.8.22, v2.8.23, v2.8.24, v2.8.25, v2.8.26, v2.8.27, v2.8.28, v2.8.29, v2.8.3, v2.8.30, v2.8.31, v2.8.32, v2.8.33, v2.8.34, v2.8.35, v2.8.36, v2.8.37, v2.8.38, v2.8.39, v2.8.4, v2.8.40, v2.8.41, v2.8.42, v2.8.43, v2.8.44, v2.8.45, v2.8.46, v2.8.47, v2.8.48, v2.8.49, v2.8.5, v2.8.50, v2.8.52, v2.8.6, v2.8.7, v2.8.8, v2.8.9, v3.0.0, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.1, v3.1.10, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.1.8, v3.1.9, v3.2.0, v3.2.1, v3.2.10, v3.2.11, v3.2.12, v3.2.13, v3.2.14, v3.2.2, v3.2.3, v3.2.4, v3.2.5, v3.2.6, v3.2.7, v3.2.8, v3.2.9, v3.3.0, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.17, v3.3.18, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.1, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.2, v3.4.20, v3.4.21, v3.4.22, v3.4.23, v3.4.24, v3.4.25, v3.4.26, v3.4.27, v3.4.28, v3.4.29, v3.4.3, v3.4.30, v3.4.31, v3.4.32, v3.4.33, v3.4.34, v3.4.35, v3.4.36, v3.4.37, v3.4.38, v3.4.39, v3.4.4, v3.4.40, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9, v4.0.0, v4.0.1, v4.0.10, v4.0.11, v4.0.12, v4.0.13, v4.0.14, v4.0.15, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.0, v4.2.1, v4.2.10, v4.2.11, v4.2.12, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.3.0, v4.3.1, v4.3.10, v4.3.11, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.1, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8].
- Can only install one of: symfony/finder[v2.7.0, v5.0.8].
- Can only install one of: symfony/finder[v2.7.1, v5.0.8].
- Can only install one of: symfony/finder[v2.7.10, v5.0.8].
- Can only install one of: symfony/finder[v2.7.11, v5.0.8].
2) SÍ Por cierto, prestissimo como mencioné ya se aplicó y pareció ayudar, ya que en otra computadora muy rápida que tiene Internet mucho más rápido sin codeception, la instalación tomó 5 veces más, 518 segundos, mientras que quizás debido a prestissimo u otros consejos aquí, tomó 110 segundos.
composer global require hirak/prestissimo
3) SÍ Windows es lento, al igual que las carpetas virtualizadas de Windows a Linux. La ejecución fuera de la carpeta compartida dentro de Linux pareció acelerarlo aproximadamente dos veces. Aunque podría deberse a cache.
4) NO
"process-timeout": 1800,
es por proceso único como git checkout y no pareció ayudar en absoluto, incluso configurado en 10, ya que ya era considerablemente grande. Quizás sea útil solo cuando hay una interrupción total de algún servicio.
5) SÍ instalar con una carpeta de proveedor eliminada o vacía = recientemente parece ser considerablemente más rápido (alrededor de 1 minuto y más) que agregar a los archivos del proveedor y otros paquetes existentes en ella
6) YES parece ser más lento en Ubuntu18 apache2 sin la imagen propia de xdebug, que en Debian10 php-fpm incluso con xdebug en Yii2-starter-kit, por alguna razón aproximadamente dos veces más lento, cat /etc/*-release
para descubrir la distribución de Linux
7) NO
php -ddefault_socket_timeout=1 /usr/local/bin/composer --verbose --profile install
mencionado aquí no pareció ayudar.
Actualización lenta de las dependencias del compositor, a pesar del indicador --prefer-dist
ni del protocolo IP v6 v v4 mencionado. Aunque podría deberse a la caché.
8) NO La instalación de zip no parece ayudar, la instalación de PHP tenía zip preinstalado, todavía se quejaba de no estar allí hasta que se instalaron como paquetes de Linux, pero hizo que el proceso en una sola simulación fuera más lento en 100 segundos de 650 a 750 segundos. Mismas condiciones ambientales.
As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension
https://stackoverflow.com/a/51208804/3419535
pruebas en condiciones sin caché--no-cache
9) SÍ eliminar "minimum-stability ": "dev",
10) SÍ use prefer-dist composer require robmorgan/phinx:@dev --prefer-dist -vvv --profile
(usando un comando require como ejemplo, ya que el uso de comandos require parciales como se mencionó anteriormente, en lugar de una instalación completa a través de un comando de instalación, parece ser una de las aceleraciones más significativas, además de requerir @ dev- como en los puntos anteriores, cuando minimum-stability: dev
no se aplica genéricamente a todas las dependencias, parece ser inofensivo usarlo por caso (dependencia))