Изменить: Заключение: здесь нет решения или вообще не кажется пуленепробиваемым. Что в конечном счете помогает обычно с помощью композитора постепенно, требуя или удаления только один пакет в то время , используя composer require
, composer remove
команду, также касается добавления каких - либо «конкретные без зависимости» настройки, любая библиотека может добавлять / удалять ради него корректировки / обновление конфигурации кеша блокировки composer.json.
Группирую свой опыт с ответами отсюда и из связанного вопроса.
До сих пор я пробовал каждое решение, упомянутое в этом вопросе. Однако это все еще не помогло мне, хотя я пытался / заметил, что установка любой другой отдельной библиотеки была довольно быстрой, поэтому я продолжал исследовать библиотеки одну за другой, что могло вызвать узкое место.
1) ДА И я обнаружил, что это кодирование,"codeception/codeception": "2.4.0",
В одиночку это заняло почти 200 секунд, хотя иногда казалось, что запуск его вместе с другими библиотеками занимает почти 12 минут. Кроме того, composer, похоже, не отражает в реальном времени, когда после запуска в течение 20 секунд он выводит его запуск 0,35 секунды и так далее.
[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]
Бег до
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) ДА Кстати, prestissimo, как я уже упоминал, уже применялся и, похоже, помог, так как на другом очень быстром компьютере, который имеет гораздо более быстрый интернет вообще без кодирования, установка заняла в 5 раз больше, 518 секунд, хотя, возможно, из-за prestissimo или других советов здесь это заняло 110 секунд.
composer global require hirak/prestissimo
3) ДА Windows работает медленно, как и виртуализированные папки от Windows до Linux. Запуск за пределами общей папки внутри Linux, похоже, ускорил его примерно вдвое. Хотя могло быть из-за кеша.
4) НЕТ
"process-timeout": 1800,
предназначен для одного процесса, такого как git checkout, и, похоже, не помог вообще, даже если он установлен на 10, поскольку он уже был значительно большим. Возможно, это поможет только при полном отключении какой-либо службы.
5) ДА, установка с удаленной или пустой папкой поставщика = свежее выглядит значительно быстрее (около 1 минуты и более), чем добавление в файлы поставщика и другие существующие в ней пакеты
6) ДА кажется медленнее на Ubuntu18 apache2 без собственного образа xdebug, чем на Debian10 php-fpm даже с xdebug в Yii2-starter-kit, по какой-то причине примерно вдвое медленнее, cat /etc/*-release
чтобы узнать дистрибутив Linux
7) НЕТ,
php -ddefault_socket_timeout=1 /usr/local/bin/composer --verbose --profile install
упомянутое здесь, похоже, не помогло
Медленное обновление зависимостей композитора, несмотря на флаг --prefer-dist
и не упомянутый протокол IP v6 v v4, хотя это могло быть связано с кешем.
8) НЕТ Установка zip, похоже, не помогает, при установке PHP был предустановлен zip, он по-прежнему жаловался, что его не было, пока не были установлены как пакеты Linux, но это замедлило процесс за одну симуляцию на 100 секунд с 650 до 750 секунд. Те же условия окружающей среды.
As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension
https://stackoverflow.com/a/51208804/3419535
тестирование в условиях без кеширования--no-cache
9) ДА удалить "minimum-stability ": "dev",
10) ДА, используйте Prefer-dist composer require robmorgan/phinx:@dev --prefer-dist -vvv --profile
(используя команду require в качестве примера, поскольку использование частичных команд require, как упомянуто в самом начале выше, вместо полной установки с помощью команды install, кажется одним из самых значительных ускорений, плюс требуется @ dev- как и в предыдущих пунктах, когда minimum-stability: dev
не применяется в целом ко всем зависимостям, кажется безвредным, используя для каждого случая (зависимости) основе)