¿Cómo instalar varias versiones de Composer en Windows y Linux?

¿Cómo instalar varias versiones de Composer en Windows y Linux?

En este artículo os enseñaremos como instalar composer tanto en Windows como en Linux, además os mostraremos de forma simple como tener más de una versión del mismo instalado en vuestro equipo. Espero solucionar todas vuestras dudas al respecto, empecemos por el principio.

Composer: ¿Qué es?

Composer es un administrador de paquetes y dependencias de PHP, podemos considerarlo una herramienta estándar para administrar, descargar e instalar dependencias o librerías de proyectos PHP de una forma sencilla. El principal repositorio por defecto del que se nutre Composer es Packagist.

¿Cómo instalar Composer en Windows?

La instalación de composer en Windows es la más sencilla de todas, previamente tenemos que tener PHP instalado en nuestro equipo (de manera manual o mediante un servidor web como Xampp, Wamp Server, Laragon, ...). Una vez tenemos PHP instalado en nuestro equipo vamos a la web de composer y nos descargamos el instalador para Windows.

El proceso de instalación es sencillo, nos preguntará por la ruta donde tenemos el archivo php.exe, en el caso de Xammp se encuentra generalmente en C:\xampp\php. Una vez indicada la ruta y finalizado el proceso de instalación ya tendremos composer instalado en nuestro equipo.

Para usar composer abrimos una consola como CMD o Powershell y escribimos el comando composer, una vez escrito si la instalación anterior se realizo correctamente deberéis ver algo similar a esto:

Composer Windows comando

¿Cómo instalar más de una versión de composer en Windows?

Ahora que ya instalaste composer usando el instalador puede te encuentras con un problema, seguramente no os dejará elegir que versión instalar (siempre instala la última versión estable) y por otras cuestiones necesitas tener otra versión de composer instalada en el equipo.

En mi caso quería probar la versión 2 de composer (en el momento de escribir este artículo estaba en alpha) y para no borrar la instalación actual de composer quise instalar otra versión que la llamaremos con el comando "composer2".

Para instalar otra versión de composer seguimos los siguiente pasos:

  • Creamos una carpeta en C:// por ejemplo "composer2" o similar
  • Vamos a la web https://getcomposer.org/download/ y nos desplazamos hasta la sección "Manual Download"

Manual download composer

Una vez estamos en esa sección solo tenemos que hacer click en cualquiera versión que nos sale en la primera fila que nos descargará un archivo llamado composer.phar, en nuestro caso para este ejemplo nos bajaremos la versión 2.0.0-alpha1.

  • Copiamos el archivo composer.phar que nos acabamos de descargar y lo pegamos en la carpeta que creamos previamente (en mi caso "composer2").
  • Una vez realizado esto abrimos la terminal y indicamos la ruta de nuestra carpeta donde tenemos el composer.phar. En mi caso en "C://composer2", me situo en ese directorio escribiendo en la terminal cd C://composer2 y después ejecutamos el siguiente comando dependiendo del tipo de terminal que estemos usando:

En el caso de estar usando CMD:

echo @php "%~dp0composer.phar" %*>composer2.bat

Usando PowerShell:

Set-Content composer2.bat '@php "%~dp0composer.phar" %*'

⚠️ Nota: En el nombre que le pongamos al archivo importa, en mi caso le llamo composer2.bat ya que cuando llame al comando reponderá por la palabra composer2, en caso de que querais llamarle de otra forma con renombar ese archivo es suficiente.

  • Una vez realizado este proceso solo nos queda añadir en el "Path" de las variables del sistema la ruta de la carpeta que creamos (en nuestro caso "composer2"). En Windows 10 podéis escribir en la lupa "Editar las variables de entorno del sistema" para acceder al editor de variables del sistema y seguir los pasos de la siguiente imagen.

Variable de entorno composer2

Una vez tenemos la variable de entorno añadida cerrar la terminal CMD o Powershell que tengáis abierta y abrir una nueva terminal. Ahora para comprobar que el proceso realizado fue correcto escribir en la terminal composer2 y el resultado debería ser similar al siguiente:

composer 2 instalado

Recordar que podéis añadir tantas versiones como queráis, el proceso es siempre el mismo bajar el archivo composer.phar de la versión que más os guste, meterlo en una carpeta con el nombre que queráis y crear el archivo .bat con el comando que os deje anteriormente modificando el nombre del mismo por el que queramos asignarle a esa versión. Para finalizar añadir esa carpeta al Path del sistema y listo.

Instalación composer en Linux

Los requisitos previos que debemos cumplir antes de instalar composer es tener instalado php (la versión que queramos), tener los módulos de PHP "php-cli y php-zip" instalados y dispones del comando unzip y wget. En caso de no tenerlos o si tenéis dudas ejecutar el siguiente comando:

sudo apt install php-cli php-zip unzip wget

Una vez cumplimos todos los requisitos previos procedemos a bajar el instalador de composer usando el siguiente comando:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Una vez descargado debemos verificar la integridad del composer-setup.php descargado comparando el hash SHA-384 del mismo con el último hash del instalador que se encuentra en la página Composer Public Keys/Signatures".

Ahora usaremos una variable temporal llamada HASH en la que mediante WGET obtenemos el hash del último instalador de composer disponible su página de GitHub usando el siguiente comando:

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

Después usaremos el siguiente comando para verificar que el archivo que bajamos no esta corrupto empleando la varible temporal HASH que le asignamos el hash del último instalador de composer:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

En el caso de que tanto el HASH del instalador de composer de GitHub como el del archivo que bajamos coincidan nos saldrá el siguiente mensaje indicando que el instalador no esta corrupto.

Installer verified

📝 Nota: En el caso de que los hashes no coincidan, verá el mensaje de "Installer corrupt" (Instalador corrupto). En este caso, tendrá que volver a repetir el proceso completo realizado hasta el momento.

Procedemos a instalar composer, para ello usaremos el siguiente comando que instalará Composer en el directorio /usr/local/bin:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Una vez realizado todo este proceso solo tenemos que escribir en la terminal "composer" para ver si esta correctamente instalado y funcionando. Hasta aquí el proceso de instalación de composer en Linux.

¿Cómo instalar más de una versión de composer en Linux?

El proceso de instalar más de una versión es simple, estando el directorio donde tenemos el instalado composer-setup.php solo tenemos que ejecutar el siguiente comando cambiando el filename (nombre del comando con el cual llamaremos a composer por la terminal) y el nombre de la versión (podéis encontrar una lista en la web de composer en la sección "Manual Download").

php composer-setup.php --version=2.0.0-alpha1 --install-dir=/usr/local/bin --filename=composer2

📝Nota: En el caso de no saber donde anda el archivo composer-setup.php repetir el paso anterior de instalar composer en Linux pero sin llegar a la parte de instalación.

Y esto es todo lo que os podemos contar sobre como instalar composer, espero que este tutorial os ayude y resuelva todas vuestras dudas al respecto sobre las multiples instalaciones de composer.