Estou executando o Ubuntu 18.04.6 LTS
Eu precisava instalar o compositor então instalei usando o comando:
sudo apt-get install composer
Mas isso instalaria uma versão do compositor que me daria o seguinte erro ao usá-lo:
Fatal error: Uncaught ArgumentCountError: array_merge() does not accept unknown named par ameters in /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php:205 ubuntu
As notas do compositor no github sugeriram que esse erro foi corrigido, mas continuei encontrando-o sem nenhuma solução real que pudesse encontrar online.
Então eu desinstalei:
sudo apt-get purge --auto-remove composer
Finalmente resolvi o problema instalando usando o seguinte método alternativo:
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Ele dizia que tudo estava configurado corretamente, mas o compositor ainda não estava sendo lançado globalmente, apesar de eu tê-lo colocado em /usr/local/bin
Então comecei a mexer nisso. Parei minha instância AWS e a iniciei novamente, executei o comando de instalação alternativo acima novamente (composer-setup.php) e agora o compositor funciona globalmente (para esclarecer: não tentei executar o compositor globalmente imediatamente após reiniciar a instância; em vez disso, instalei novamente usando o método de instalação alternativo e tentei executá-lo globalmente e funcionou).
Agora o compositor está trabalhando globalmente e não há erros fatais.
Alguém tem uma hipótese sobre por que o compositor não estava rodando globalmente, apesar de ter sido colocado em /usr/local/bin inicialmente, mas finalmente começou a trabalhar globalmente? É possível que parar e iniciar minha instância AWS com Ubuntu tenha resolvido o problema? Se não, então o que realmente resolveu o problema e por que não funcionou globalmente?