Por que o PHP Composer é tão lento?

97

Por que o PHP Composer é tão lento quando tudo o que faço é iniciar um projeto sem dependências? Aqui estão os comandos que executo:

composer init

<passo na criação do composer.json, defina 0 zero dependências>

composer install

Espere 3 minutos (não é exagero).

Tudo que o compositor precisa fazer é puxar um autoloader e criar /vendor, então por que demora tanto? Por falar nisso, por que essa etapa não acontece composer init?

Existe uma opção de configuração que posso usar para obter um autloader em cache e um fornecedor init?

AgmLauncher
fonte
1
Mais a sério: você atualizou seu compositor nos últimos 30 dias? Houve uma grande melhoria no desempenho do código no mês passado
Mark Baker
Comecei há compose installmais de 5 minutos e ainda não foi concluído. Composer version 1.0-dev (07c644ac229a21df80180598d8bb9aaba232eecb) 2015-02-03 12:51:10. Talvez não seja a versão mais recente, mas ainda é mais recente que seu mainframe IBM ;-)
axiac
Por favor, confirme que você fezcomposer self-update
sjagr
Eu atualizei na semana passada ou assim.
AgmLauncher de
Lutei com a atualização do compositor e a autoatualização do compositor sendo incrivelmente lentas. Levando mais de 15 minutos e lançando exceções. Mudei os servidores DNS do meu roteador (do Google para o do meu ISP) e o compositor funcionou perfeitamente.
Gordon Hickley

Respostas:

39

Além disso, desative o Xdebug . O Xdebug pode fazer com que o Composer demore minutos, mesmo ao executar um comando tão simples quanto composer --version.

adjco
fonte
1
Na verdade, esse foi o meu problema. O Xdebug faz com que o composer rode muito devagar.
AgmLauncher
Tente usar hirak / prestissimo. É um plugin de composição que ajuda você a baixar pacotes em um ritmo rápido. link
Ritesh Chitrakar
3
No momento da escrita, tive a mesma performance com ou sem debug, já que em 2020/2019 o composer desabilitou automaticamente o xdebug ao rodar, apesar de instalar o yii2-starter-kit demorar cerca de 200 segundos com todas as bibliotecas seja w / wo xdebug, então esta resposta está ficando desatualizada
FantomX1
Vi isso, abri meu depurador. Descobri que, embora o xdebug esteja configurado apenas para FPM, a CLI o iniciou e meu IDE estava parado em um ponto de interrupção esperando por mim. Aperte "continue" e o compositor
começa a funcionar
373

Porque o Composer é implementado por file_get_contents(). Isso não tem otimizações de TCP, Keep-Alive, sem multiplexação, etc.

Criei um plugin do Composer para baixar pacotes em paralelo: https://packagist.org/packages/hirak/prestissimo

$ composer global requer hirak / prestissimo

Por favor tente. No meu ambiente, composer installfica 10 vezes mais rápido.

hiraku
fonte
Uau, passei de 124 segundos para instalar um novo projeto laravel para apenas 21 segundos. Adoro!
cornips
6
Boas notícias: aparentemente, foi fundido com o Composer 2 em janeiro de 2019: github.com/composer/composer/pull/7904
Chuck Le Butt
@ChuckLeButt mas a liberação ainda está fora de vista :(
hejdav
Obrigada mano. É 20x mais rápido.
Ilyas karim
60
  1. Certifique-se de ter a versão mais recente do Composer.
  2. Instale no modo detalhado adicionando -vvv, por exemplo composer global require "squizlabs/php_codesniffer=*" -vvv
  3. Se você conseguir descobrir onde o Composer está enfrentando lentidão, por exemplo, o meu travou por 5 minutos ao baixar pacotes. Demorou> 5 minutos para baixar um arquivo de 20 kB em uma conexão de 50 Mbit / s. Isso porque ele estava baixando os pacotes do packagist usando HTTP e não HTTPS. Fazer essas alterações na configuração resolveu meu problema: composer config --global repo.packagist composer https://packagist.org
sgr12
fonte
3
Sou novo no compositor e tento consertar isso por 2 dias, depois de ler seu comentário e adicionar -vvv, finalmente funcionou. 1000 votos positivos
Huy Trịnh
# 3 resolveu isso para mim. Você é meu herói agora. Já faz algum tempo que estou preocupado porque é tão lento e só funciona em algumas conexões de internet. THX!
Andreas Schantl
composer config --global repo.packagist composer https://packagist.org o que é que foi isso! Impressionante! 🏆
Rishi Kulshreshtha
13

O mesmo aqui. Obtenha mais detalhes com "composer install --profile -vvv". No meu caso, leva muito tempo para baixar alguns arquivos JSON. Eles são armazenados em cache no meu servidor, mas ainda são baixados com cada chamada de atualização / instalação do Composer.

... 30 minutos depois ...

Parece um problema de desempenho @ packagist.org. Agora a instalação do Composer é executada em 2 segundos! E os arquivos JSON baixados são armazenados em cache corretamente.

ppan
fonte
1
"Eles são armazenados em cache no meu servidor, mas ainda são baixados com cada atualização / instalação do compositor chamada" ISTO !! Você encontrou uma solução para este problema? Tenho uma conexão lenta e é terrível ver isso.
lud
8

Eu estava tendo esse problema e ele estava me confundindo, já que não tenho o Xdebug instalado em qualquer lugar da minha máquina. Acontece que foram falhas no modo de endereçamento IPv6 . Então, para testar eu corri

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

O IPv4 foi aprovado, mas o IPv6 falhou. No final, você deve tentar descobrir por que sua pilha de rede não suporta isso, mas no meu caso, decidi apenas dar preferência ao tráfego IPv4 até que possa resolver isso. No CentOS eu criei / modifiquei o arquivo /etc/gai.conf e coloquei o seguinte:

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

No Ubuntu você também pode editar esse arquivo e descomentar a linha

precedence ::ffff:0:0/96  100

Fonte no Rackspace Community Hub

Aaron Chamberlain
fonte
Só para constar, isso não me pareceu ajudar pessoalmente, embora terei que estimulá-lo novamente para confirmar todas as opções, qual delas poderia ser a causa.
FantomX1
@ FentomX1 Lamento ouvir isso. É por isso que incluí o teste no topo. Se você fizer os dois testes de curl e ele estiver se conectando, obviamente, as alterações não devem ser feitas porque sua rede está configurada corretamente.
Aaron Chamberlain
5

No Ubuntu Xenial 16.04 VPS, você precisa fazer o seguinte:

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

Ele configura o IPv4 como preferencial em relação ao IPv6.

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

Liam Mitchell
fonte
desde que instalei prestissimo, minha velocidade de compositor tem sido excelente.
Big Tree
3
Posso confirmar que esta solução funciona mesmo para ubuntu 18.04LTS
mwangaben
Adicione alguma explicação à sua resposta de forma que outras pessoas possam aprender com ela. O que essa primeira linha faz?
Nico Haase
@NicoHaase Se você olhar os carimbos de data / hora, esta resposta é na verdade uma resposta ao problema que descrevi, mas eles não a colocaram como um comentário. Eu incorporei na minha resposta de qualquer maneira. Parece que o packagist prefere usar IPV6, mas algumas redes ainda não funcionam bem com ele. A primeira linha faz com que sua máquina Linux prefira endereços IPv4 e os procure primeiro.
Aaron Chamberlain
1

No meu caso, a versão do compositor que eu estava executando era retroativa. Depois de atualizada a própria versão do compositor, o problema desapareceu.

Para atualizar a versão do compositor, execute

composer self-update

e, em seguida, solicite o pacote composer e pronto.

composer require "<package-name>"
sh6210
fonte
sudo? root? porque ?
Mohamed Elbahja
irmão desculpe, adicione sudo se você tiver problemas de permissão.
sh6210 01 de
ou você deve corrigir o modo de arquivo e as permissões de proprietário / grupo? em vez de apenas executar o SUDO! sem saber o que isso significa? definitivamente não é um FIX.
Mohamed Elbahja
claro, você pode corrigir o problema de permissão do proprietário / grupo executando o comando "chown", mas você pode fazer isso de uma vez. Minha intenção principal era mostrar a solução da forma mais simples do meu ponto de vista. No entanto, sinto muito se minhas palavras não fazem nenhum sentido para você.
sh6210
@ sh6210 Não incentive o uso de sudo ao usar o composer. Presumir que "talvez" seja um permissionproblema é preconceito.
dbf
0

Se alguma das respostas anteriores não funcionar, verifique se seu firewall permite TCP_OUT na porta 9418.

A segurança do meu firewall era muito forte. Isso fez com que o Composer demorasse tanto que nunca tive nenhum tempo limite ou indicação de que a porta estava bloqueada.

gidomanders
fonte
0

O meu estava lento ao baixar arquivos json por causa do antivírus. Alguns antivírus verificam todo o tráfego da web e podem ser lentos na análise de arquivos json. Tente desativar seu AV enquanto executa o composer.

Dima L.
fonte
-1

A melhor maneira de descobrir é executando o composer update / install com detalhamento. composer {install / update} -vvv. Usar a sinalização -h pode ajudá-lo no futuro

Edu
fonte
Por favor, compartilhe uma explicação para isso. O OP está executando os testes usando uma lista de dependências completamente vazia
Nico Haase
-1

Edit: Conclusão: nenhuma solução listada aqui ou geralmente parece ser à prova de balas. O que em última análise ajuda é geralmente usar o composer incrementalmente, exigindo ou removendo apenas um único pacote por vez usando composer require, composer removecomando, também se refere à adição de qualquer configuração "não-dependente específica", qualquer biblioteca pode ser adicionada / removida para atualizar / atualizando a configuração do cache de bloqueio composer.json.

Agrupando minha experiência com respostas daqui e do link em questão.

Antes eu tentei cada uma das menções de solução nesta questão até agora. No entanto, ainda não me ajudou, embora eu tenha tentado / percebido que instalar qualquer outra biblioteca única era consideravelmente rápido, então continuei investigando as bibliotecas uma por uma que poderiam causar o gargalo.

1) SIM E eu descobri que era codecepção,"codeception/codeception": "2.4.0",

Demorou quase 200 segundos sozinho, embora rodá-lo junto com outras bibliotecas parecesse às vezes rodar quase 12 minutos. Além disso, o composer não parece refletir em tempo real quando, após iniciar por 20 segundos, ele executa 0,35s e assim por diante.

[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]

A corrida 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) SIM A propósito, prestissimo como mencionei já foi aplicado e pareceu ajudar, pois em outro computador muito rápido que tem uma internet muito mais rápida sem codecepção, a instalação demorou 5 vezes mais, 518 segundos, enquanto talvez devido a prestissimo ou outros conselhos aqui, demorou 110 segundos.

composer global require hirak/prestissimo

3) SIM, o Windows é lento, assim como as pastas virtualizadas do Windows ao Linux. Executar fora da pasta compartilhada dentro do Linux parecia acelerá-lo cerca de duas vezes. Embora possa ser devido ao cache.

4) NÃO

    "process-timeout": 1800,

é feito por um único processo, como git checkout e não pareceu ajudar em nada, mesmo definido para 10s, pois já era consideravelmente grande. Talvez ajude apenas quando houver uma interrupção total de algum serviço.

5) SIM, instalar com uma pasta do fornecedor removida ou vazia = recentemente parece ser consideravelmente mais rápido (cerca de 1 minuto e mais), do que adicionar aos arquivos do fornecedor e outros pacotes existentes nele

6) SIM parece ser mais lento no Ubuntu18 apache2 sem a própria imagem do xdebug, do que no Debian10 php-fpm mesmo com o xdebug no Yii2-starter-kit, por alguma razão duas vezes mais lento, cat /etc/*-releasepara descobrir a distribuição do Linux

7) NÃO php -ddefault_socket_timeout=1 /usr/local/bin/composer --verbose --profile install mencionado aqui não pareceu ajudar A atualização lenta das dependências do compositor, apesar do sinalizador --prefer-dist nem haver mencionado o protocolo IP v6 v v4 Embora pudesse ser devido ao cache.

8) NÃO Instalar o zip não parece ajudar, a instalação do PHP tinha o zip pré-instalado, ele ainda reclamava de não estar lá até serem instalados como pacotes do Linux, mas tornava o processo em uma única simulação mais lento em 100 segundos de 650 a 750 segundos. Mesmas condições ambientais. As there is no 'unzip' command installed zip files are being unpacked using the PHP zip extension https://stackoverflow.com/a/51208804/3419535 teste em condições sem cache--no-cache

9) SIM, remover "minimum-stability ": "dev",

10) SIM, use prefer-dist composer require robmorgan/phinx:@dev --prefer-dist -vvv --profile (usando um comando require como exemplo, já que usar comandos require parciais conforme mencionado acima, em vez de uma instalação completa por meio de um comando install, parece ser um dos aceleramentos mais significativos, além de exigir @ dev- como ao longo dos pontos anteriores, quando minimum-stability: devnão aplicado genericamente a todas as dependências parece ser inofensivo usando uma base por caso (dependência))

FantomX1
fonte
Como isso está relacionado à pergunta dada? De acordo com a descrição do problema, não há uma única dependência listada no problema de OPs
Nico Haase
O problema deve ser abordado de forma genérica, tentei resumir tudo o que me ajudou, e adicionei algumas outras soluções de outros lugares.Nem sempre apenas para o que o solicitante pede, aqui vêm milhares de cenários de outros usuários.A maioria das respostas são genéricas. A necessidade do Composer é basicamente apenas uma subparte da instalação do composer. Só porque usei também uma palavra / comando 'requerer' na resposta, não significa que não se aplica também à instalação, mas se desejar, posso remover essa palavra. 'Não há uma única dependência listada', mas como é muda qualquer coisa, a instalação do composer nada mais é do que dependências.
FantomX1
Passei de 1 ponto para -1 apenas alguns minutos depois porque respondi a você, talvez porque você votou em mim anteriormente. Diga-me que a resposta escolhida prestistimo ou usando ipv 6 ou desabilitando xdebug também não é genérica e não se aplica a um comando de requerer do compositor concreto. Peço desculpas por algumas edições precipitadas, mas também o uso como wiki pessoal e nem listei um nome de dependência concreto, mas irei ajustá-lo. Se você não gosta que eu cometi um erro de digitação, mencione isso, mas não ser genérico não faz sentido. Usei um comando 'require' como referência, pois usar 'require' é uma das soluções em si.
FantomX1
1
O OP perguntou por que o Composer é lento com nenhuma dependência - mesmo que sua lista de coisas possa ajudar em muitas outras situações, não vejo nenhuma conexão com a pergunta fornecida
Nico Haase
2
Prestissimo ajuda mesmo com a lista de requerimentos vazia - alguns arquivos são baixados pelo compositor independentemente da lista de dependências, então o download paralelo também ajudará aqui.
rob006
-1

No caso, se você excluiu o arquivo composer.lock e foi para composer installlá, fica muito lento fazer download das dependências. Se for esse o caso, use o composer updatecomando e isso pode ajudar você ou outras pessoas.

NadZ
fonte