Instalé Composer en /usr/local/bin pero no era global

Instalé Composer en /usr/local/bin pero no era global

Estoy ejecutando Ubuntu 18.04.6 LTS

Necesitaba instalar Composer así que lo instalé usando el comando:

sudo apt-get install composer

Pero esto instalaría una versión de Composer que me daría el siguiente error al usarlo:

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

Las notas del compositor de github sugirieron que este error se solucionó, pero seguí encontrándolo sin ninguna solución real que pudiera encontrar en línea.

Entonces lo desinstalé:

sudo apt-get purge --auto-remove composer

Finalmente resolví el problema instalando usando el siguiente 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

Decía que todo estaba configurado correctamente, pero Composer aún no se iniciaba globalmente a pesar de que lo coloqué en /usr/local/bin.

Entonces comencé a jugar con eso. Detuve mi instancia de AWS y luego la reinicié, ejecuté nuevamente el comando de instalación alternativo anterior (composer-setup.php) y ahora el compositor funciona globalmente (para aclarar: no intenté ejecutar el compositor globalmente inmediatamente después de reiniciar la instancia; en su lugar, instalé nuevamente usando un método de instalación alternativo y luego intenté ejecutarlo globalmente y funcionó).

Ahora el compositor está trabajando globalmente y no hay errores fatales.

¿Alguien tiene una hipótesis sobre por qué Composer no se estaba ejecutando globalmente a pesar de estar inicialmente ubicado en /usr/local/bin pero finalmente comenzó a funcionar globalmente? ¿Es posible que detener e iniciar mi instancia de AWS con Ubuntu sea lo que lo resolvió? Si no es así, ¿qué fue lo que realmente resolvió el problema y por qué no funcionó globalmente en primer lugar?

información relacionada