Skip to content

Cómo tener instalado Composer 1 y 2 al mismo tiempo en Mac

Maximo Martinez Soria

Maximo Martinez Soria

  • 2 min to read
Post thumbnail

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…

  1. Instalar composer con brew. Esto va a traer la versión 2.

    brew install composer
  2. Mover la carpeta composer a composer2 para poder distinguir las versiones.

    mv /usr/local/bin/composer /usr/local/bin/composer2
  3. Posicionarse en la carpeta de instalación.

    cd /usr/local/bin/
  4. Descargar composer1.

    wget <https://getcomposer.org/download/1.10.17/composer.phar>
  5. Cambiar los permisos para poder ejecutar el archivo.

    chmod 755 composer.phar
  6. Mover la carpeta composer a composer1.

    mv /usr/local/bin/composer.phar /usr/local/bin/composer1
  7. 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 comando composerX, 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.

Maximo Martinez Soria

Maximo Martinez Soria

Software engineer with deep knowledge on web technologies and the JavaScript ecosystem. Currently spending most of my time developing web apps with React, Node, and Typescript.

Comments:

Leave a comment: