Почему PHP Composer такой медленный?

99

Почему PHP Composer такой медленный, когда все, что я делаю, это запускаю проект с нулевыми зависимостями? Вот какие команды я запускаю:

composer init

<пройти через создание composer.json, определить 0 нулевых зависимостей>

composer install

Подождите 3 минуты (не преувеличение).

Все, что нужно сделать композитору, - это включить автозагрузчик и создать /vendor, так почему же это занимает так много времени? В этом отношении, почему этого не происходит composer init?

Есть ли вариант конфигурации, который я могу использовать для извлечения кэшированного автозагрузчика и поставщика init?

AgmLauncher
источник
1
А если серьезно: обновляли ли вы своего композитора за последние 30 дней? Только в прошлом месяце произошло значительное улучшение производительности кода
Марк Бейкер
Я начал compose installболее 5 минут назад, но еще не закончил. Composer version 1.0-dev (07c644ac229a21df80180598d8bb9aaba232eecb) 2015-02-03 12:51:10. Возможно, это не самая последняя версия, но все же новее, чем ваш мэйнфрейм IBM ;-)
axiac
Пожалуйста, подтвердите, что вы сделалиcomposer self-update
sjagr
Я обновил его на прошлой неделе или около того.
AgmLauncher
Я боролся с невероятно медленным обновлением композитора и самообновлением композитора. Занимает больше 15 минут, а затем выбрасывает исключения. Я сменил DNS-серверы роутера (с Google на собственный интернет-провайдер), и композитор отлично заработал.
Гордон Хикли

Ответы:

43

Также отключите Xdebug . Xdebug может заставить Composer занять несколько минут даже при запуске такой простой команды, как composer --version.

adjco
источник
1
На самом деле это оказалось моей проблемой. Xdebug заставляет композитор работать очень медленно.
AgmLauncher
Пожалуйста, попробуйте использовать hirak / prestissimo. Это плагин композитора, который поможет вам загружать пакеты в быстром темпе. ссылка
Ритеш Читракар
3
На момент написания у меня была такая же производительность с отладкой или без нее, так как в 2020/2019 композитор автоматически отключал xdebug при запуске, несмотря на то, что установка yii2-starter-kit заняла около 200 секунд со всеми библиотеками, будь то без xdebug, поэтому этот ответ становится устаревшим
FantomX1
Увидел это, вытащил мой отладчик. Обнаружено, что хотя xdebug настроен только для FPM, CLI инициировал его, и моя IDE ждала меня в точке останова. Нажмите "Продолжить", и композитор снова вернется.
ppostma1
378

Поскольку Composer реализован file_get_contents(). В нем нет оптимизации TCP, Keep-Alive, мультиплексирования и т. Д.

Я создал плагин Composer для параллельной загрузки пакетов: https://packagist.org/packages/hirak/prestissimo

$ composer global требует hirak / prestissimo

Пожалуйста, попробуйте. В моей среде composer installстановится в 10 раз быстрее.

хираку
источник
Ничего себе, я ушел с 124 секунд на установку нового проекта laravel до 21 секунды. Любить это!
Cornips
7
Хорошие новости: очевидно, это было объединено с Composer 2 в январе 2019 года: github.com/composer/composer/pull/7904
Chuck Le Butt
@ChuckLeButt, но релиз все еще вне поля зрения :(
hejdav
Спасибо, брат. Это в 20 раз быстрее.
Ильяс Карим
61
  1. Убедитесь, что у вас установлена ​​последняя версия Composer.
  2. Установите в подробном режиме, добавив, например, -vvv composer global require "squizlabs/php_codesniffer=*" -vvv
  3. Если вы можете узнать, где Composer сталкивается с медлительностью, например, мой зависал на 5 минут при загрузке пакетов. Для загрузки файла размером 20 КБ при скорости 50 Мбит / с потребовалось> 5 минут. Это произошло потому, что он загружал пакеты из упаковщика с использованием HTTP, а не HTTPS. Внесение этих изменений в конфигурацию устранило мою проблему: composer config --global repo.packagist composer https://packagist.org
sgr12
источник
3
Я новичок в композиторе и пытаюсь исправить это в течение 2 дней, после прочтения вашего комментария и добавления -vvv, наконец, сработало. 1000 голосов за
Huy Trịnh
№3 решил это за меня. Ты сейчас мой герой. Некоторое время беспокоился, почему он такой медленный и работает только на некоторых интернет-соединениях. Спасибо!
Андреас Шанл,
composer config --global repo.packagist composer https://packagist.org что это было! Потрясающие! 🏆
Риши Кулшрештха
13

Тут то же самое. Получите более подробную информацию с помощью "composer install --profile -vvv". В моем случае загрузка нескольких файлов JSON занимает много времени. Они кэшируются на моем сервере, но все равно загружаются при каждом вызове обновления / установки Composer.

... 30 минут спустя ...

Похоже, какая-то проблема с производительностью @ packagist.org. Теперь установка Composer выполняется за 2 секунды! И загруженные файлы JSON правильно кэшируются.

ппан
источник
1
«Они кэшируются на моем сервере, но все равно загружаются при каждом вызове обновления / установки композитора» ЭТО !! Вы нашли решение этой проблемы? У меня медленное соединение, и это ужасно видеть.
lud
9

Я столкнулся с этой проблемой, и это вызывало у меня кривую, поскольку у меня нигде на моем компьютере не установлен Xdebug. Оказывается, это были сбои в режиме адресации IPv6 . Итак, чтобы проверить, я побежал

curl --ipv4 'https://packagist.org/packages.json'
curl --ipv6 'https://packagist.org/packages.json'

IPv4 прошел, но IPv6 не прошел. В конце концов, вы должны выяснить, почему ваш сетевой стек не поддерживает его, но в моем случае я решил просто отдать предпочтение трафику IPv4, пока не смогу решить эту проблему. В CentOS я создал / изменил файл /etc/gai.conf и добавил следующее:

label       ::1/128        0
label       ::/0           1
label       2002::/16      2
label       ::/96          3
label       ::ffff:0:0/96  4
precedence  ::1/128        50
precedence  ::/0           40
precedence  2002::/16      30
precedence  ::/96          20
precedence  ::ffff:0:0/96  100

В Ubuntu вы также можете отредактировать этот файл и раскомментировать строку

precedence ::ffff:0:0/96  100

Источник на Rackspace Community Hub

Аарон Чемберлен
источник
Просто для примечания, это, похоже, не помогло мне лично, хотя мне придется повторно моделировать его, чтобы подтвердить все варианты, которые из них могли быть причиной.
FantomX1
@ FentomX1 Мне жаль это слышать. Вот почему я включил тест наверху. Если вы выполняете и тесты curl, и подключаетесь, то, очевидно, изменения вносить не следует, потому что ваша сеть настроена правильно.
Аарон Чемберлен
1
Нашел короткое видео на YouTube, показывающее, как это сделать в Windows 10. Это устранило мою проблему. youtube.com/watch?v=63Lt_vlNWLc
Маркус
5

На Ubuntu Xenial 16.04 VPS вам необходимо сделать следующее:

sudo sh -c "echo 'precedence ::ffff:0:0/96 100' >> /etc/gai.conf"
composer global require hirak/prestissimo

Он настраивает IPv4 как предпочтительный по сравнению с IPv6.

/server/93717/setting-ipv4-as-preferred-protocol-over-ipv6

Лиам Митчелл
источник
с тех пор, как я установил prestissimo, скорость моего композитора была превосходной.
Big Tree
3
Я могу подтвердить, что это решение работает даже для ubuntu 18.04LTS
mwangaben
Пожалуйста, добавьте пояснение к своему ответу, чтобы другие могли извлечь из него уроки. Что делает эта первая строка?
Нико Хаасе,
@NicoHaase Если вы посмотрите на временные метки, этот ответ на самом деле является ответом на проблему, которую я описал, но они не поместили ее в качестве комментария. Я все равно включил это в свой ответ. Кажется, что разработчик пакетов предпочитает использовать IPV6, но некоторые сети по-прежнему плохо с ним работают. Первая строка делает так, что ваша Linux-машина предпочитает адреса IPv4 и ищет их в первую очередь.
Аарон Чемберлен
1

В моем случае версия композитора, которую я использовал задним числом. После обновления самой версии композитора проблема исчезла.

Чтобы обновить версию композитора, запустите

composer self-update

а затем потребуйте пакет композитора, и все готово.

composer require "<package-name>"
sh6210
источник
sudo? корень? Зачем ?
Мохамед Эльбахджа
извини, брат, добавь sudo, если у тебя проблемы с разрешениями.
sh6210
или вы должны исправить режим файла и права владельца / группы? а не просто запускать СУДО! не зная, что это значит? определенно не ИСПРАВЛЕНИЕ.
Мохамед Эльбахджа
Конечно, вы можете решить проблему с правами владельца / группы, запустив команду chown, но вы можете сделать это за один раз. Моей главной целью было показать решение самым простым с моей точки зрения способом. Однако извините, если мои слова не имеют для вас никакого смысла.
sh6210
@ sh6210 Не рекомендуется использовать sudo при использовании композитора. Если предположить, что существует «возможная» permissionпроблема, то это предубеждение.
dbf
0

Если какой-либо из предыдущих ответов не работает, проверьте, разрешает ли ваш брандмауэр TCP_OUT на порту 9418.

Мой брандмауэр был слишком строгим. Из-за этого Composer работал так долго, что у меня никогда не было тайм-аута или индикации, что порт заблокирован.

гидомандеры
источник
Ваш процессор был занят во время обновления?
Евгений Афанасьев
0

Мой был медленным при загрузке файлов json из-за антивируса. Некоторые антивирусы сканируют весь веб-трафик и могут медленно анализировать файлы json. Попробуйте отключить AV во время работы composer.

Дима Л.
источник
0

Изменить: Заключение: здесь нет решения или вообще не кажется пуленепробиваемым. Что в конечном счете помогает обычно с помощью композитора постепенно, требуя или удаления только один пакет в то время , используя 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://codeload.github.com/sebastianbergmann/php-text-template/legacy.zip/31f8b717e51d9a2afca6c9f046f5d69fc27c8686
[374.9MiB/173.16s]     40/45:   https://codeload.github.com/sebastianbergmann/diff/legacy.zip/720fcc7e9b5cf384ea68d9d930d480907a0c1a29
[374.9MiB/173.17s]     41/45:   https://codeload.github.com/sebastianbergmann/exporter/legacy.zip/68609e1261d215ea5b21b7987539cbfbe156ec3e
[374.9MiB/173.19s]     42/45:   https://codeload.github.com/sebastianbergmann/phpunit-mock-objects/legacy.zip/f9756fd4f43f014cb2dca98deeaaa8ce5500a36e
[374.9MiB/173.20s]     43/45:   https://codeload.github.com/sebastianbergmann/recursion-context/legacy.zip/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8
[374.9MiB/173.23s]     44/45:   https://codeload.github.com/sebastianbergmann/php-code-coverage/legacy.zip/4cab20a326d14de7575a8e235c70d879b569a57a
[374.9MiB/173.24s]     45/45:   https://codeload.github.com/doctrine/instantiator/legacy.zip/ae466f726242e637cebdd526a7d991b9433bacf1
[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не применяется в целом ко всем зависимостям, кажется безвредным, используя для каждого случая (зависимости) основе)

FantomX1
источник
Как это связано с заданным вопросом? Согласно описанию проблемы, в проблеме OPs нет ни одной зависимости,
Нико Хаасе,
Проблема должна быть решена в общем, я попытался обобщить все, что помогло мне, и добавил некоторые другие решения из других источников. Не всегда только для того, о чем спрашивает, здесь приходят тысячи других сценариев пользователей. Большинство ответов являются общими. Требование композитора - это, по сути, лишь часть установки композитора. Тот факт, что я также использовал слово / команду 'require' в ответе, не означает, что это не относится также к установке, но если вы хотите, я могу удалить это слово. 'В списке нет ни одной зависимости', но как это ничего не меняет, установка композитора - это не что иное, как зависимости.
FantomX1
Я перешел с 1 балла на -1 всего через несколько минут, потому что я ответил вам, может быть, потому что вы проголосовали за меня ранее. Скажите мне, что выбранный ответ prestistimo, использование ipv 6 или отключение xdebug также не является общим и не применяется к конкретной команде require composer. Прошу прощения за несколько поспешных изменений, но я использую его также как личную вики, и я даже не указал конкретное имя зависимости, но скорректирую его. Если вам не нравится, что я допустил опечатку, упомяните об этом, но не использовать общий язык не имеет смысла. Я использовал команду «require» в качестве справки, поскольку использование «require» является одним из решений.
FantomX1
1
OP спросил, почему Composer работает медленно с нулевыми зависимостями - даже если ваш список вещей может помочь во многих других ситуациях, я не вижу связи с данным вопросом
Нико Хаасе,
2
Prestissimo помогает даже с пустым списком требований - некоторые файлы загружаются композитором независимо от списка зависимостей, поэтому здесь также поможет параллельная загрузка.
rob006,
0

шаг 1

$ composer self-update

шаг 2

$ composer clear-cache

шаг 3

$ composer update
Евгений Афанасьев
источник
-1

Лучший способ узнать это - запустить обновление / установку композитора с подробным описанием. композитор {установить / обновить} -vvv. Использование флага -h может помочь вам в будущем

Edu
источник
Пожалуйста, поделитесь объяснением этого. OP запускает тесты, используя полностью пустой список зависимостей
Нико Хаасе,
-1

В случае, если вы удалили файл composer.lock, а затем ушли, composer installон становится слишком медленным для загрузки зависимостей. В этом случае используйте composer updateкоманду, и тогда она может помочь вам или другим.

НадЗ
источник