Instalei o compositor em /usr/local/bin mas não era global

Instalei o compositor em /usr/local/bin mas não era global

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?

informação relacionada