Cómo tener instalado Composer 1 y 2 al mismo tiempo en Mac
Máximo Martinez Soria
Tooling
Si bien lo más probable es que todos los proyectos usen Composer 2, hay veces que se necesita Composer 1 para poder hacer cambios en algún proyecto que se haya iniciado hace un tiempo y que use Composer 1.
La manera más común de hacer esto, es con un update. Para ir a Composer 1: composer self-update --1
.
Para ir a Composer 2: composer self-update --2
.
Sin embargo, esto no es muy práctico. Si tenés que correr estos comandos varias veces al día, te van a hacer perder mucho tiempo.
Una buena alternativa es instalar las 2 versiones y tener comandos distintos para cada una. En mi caso, a mí me gusta usar composer
para Composer 2 y composer1
para Composer 1.
De esta forma, nunca tengo que hacer un downgrade.
Lograr esto es bastante sencillo, veamos como se hace…
-
Instalar composer con brew. Esto va a traer la versión 2.
brew install composer
-
Mover la carpeta
composer
acomposer2
para poder distinguir las versiones.mv /usr/local/bin/composer /usr/local/bin/composer2
-
Posicionarse en la carpeta de instalación.
cd /usr/local/bin/
-
Descargar composer1.
wget <https://getcomposer.org/download/1.10.17/composer.phar>
-
Cambiar los permisos para poder ejecutar el archivo.
chmod 755 composer.phar
-
Mover la carpeta
composer
acomposer1
.mv /usr/local/bin/composer.phar /usr/local/bin/composer1
-
Crear el symlink para definir qué comando apunta a cada versión. Importante: correr solo uno de los siguientes comandos. La versión “”por default””, es la que se ejecuta con el comando
composer
, la otra se ejecutará con el comandocomposerX
, siendo X el número de la versión.# Versión 2 por default # Comandos: composer (para la versión 2) y composer1 ln -s /usr/local/bin/composer2 # Versión 1 por default # Comandos: composer (para la versión 1) y composer2 ln -s /usr/local/bin/composer1
Listo! Así de sencillo podemos tener ambas versiones de Composer instaladas e ir usando una u otra cuando sea necesario.