> Manuales > Tutorial de Composer

Instalación del gestor de dependencias Composer en tu sistema operativo de modo que puedas empezar a usarlo en tus proyectos.

En el artículo anterior pudimos conocer Composer, el gestor de dependencias de PHP que nos permite mejorar el workflow del desarrollo PHP cuando estamos usando librerías de terceros, no solamente en el momento de creación de un proyecto, sino también en su mantenimiento.

En esta ocasión vamos a dedicarnos a explicar el proceso de instalación. Realmente como verás es un proceso tan simple que se puede resumir en un comando en el terminal, pero queremos comentar algunas variantes de instalación y problemas con los que nos podamos encontrar, con sus soluciones.

Instalar Composer

Para disponer de esta maravilla en nuestro sistema, a fin de gestionar nuestras dependencias en PHP, debes instalarlo primero. El proceso es bien simple. Si todo va bien se reduce a estas acciones, que dependen de tu sistema operativo.

Windows:
Si estas en Windows usarás un instalador de toda la vida. Ningún secreto. Es un asistente y vas yendo a través de varias ventanas, siguiente, siguiente.

Linux / Mac:
Si estás en Linux o Mac, usarás la línea de comandos para instalar Composer. Es tan sencillo como ejecutar esta instrucción:

curl -sS https://getcomposer.org/installer | php

Nota: Ese comando requiere Curl, si te falla puedes intentar hacer lo mismo pero con el comando de PHP.

php -r "readfile('https://getcomposer.org/installer');" | php

En último caso también puedes descargar composer.phar a mano y colocarlo en la carpeta de tu proyecto donde quieres que esté disponible. http://getcomposer.org/composer.phar

Esto descargará en tu carpeta el archivo composer.phar que es un ejecutable de PHP. Los .phar los puedes correr por la línea de comandos como otros comandos del terminal. Ese archivo es justamente el que invocas para cargar las dependencias o actualizarlas, enseguida lo veremos.

Instalación global o particular a un proyecto

Aquí hay que hacer una aclaración importante, que te puede interesar porque dependiendo de ello hay ligeras diferencias de uso de Composer. Se trata de tener una instalación global de Composer o simplemente tenerlo disponible en un proyecto concreto.

Cuando lo instales en Windows, Composer va a estar disponible en cualquier lugar de tu sistema. Es una instalación global, que quiere decir que estés en el directorio que estés podrás invocar el comando de Composer. Creo que es lo más cómodo, así que si eres usuario de Windows no necesitas leer más sobre este punto.

Sin embargo, con la instrucción que hemos indicado para instalarlo en Linux/Mac, sólo lo tendrás disponible en la carpeta donde estabas cuando lanzaste el comando de Curl. Lo tendrías que instalar una vez para cada proyecto, lo que tampoco es algo descabellado, pero que se puede mejorar.

En el caso de haber hecho una instalación particular para un proyecto, colocarás el composer.phar en el directorio raíz de tu proyecto, de modo que luego lo puedas invocar para instalar las dependencias. Sin embargo, si lo deseas, también lo puedes instalar de manera global en Linux si colocas el composer.phar en otra ruta.

mv composer.phar /usr/local/bin/composer

Nota: Si ese comando no te funciona simplemente intenta hacerlo como superusuario.

sudo mv composer.phar /usr/local/bin/composer

Y si estás en Mac OSX la manera más cómoda de tener Composer en modo global es instalarlo vía "homebrew", el gestor de paquetes de sistemas Mac. Es un proceso algo más largo, pero también te beneficiarás de tener homebrew en tu máquina para instalar otros softwares que puedas necesitar. En la propia documentación de Composer nos dan los comandos que deberíamos ejecutar.

Nota: Primero tendrás que instalar el propio homebrew, tal como se explica en la página http://brew.sh/

brew update
brew tap homebrew/dupes
brew tap homebrew/php
brew install composer

Pero Ojo! En mi caso concreto esa serie de comandos me devolvió un problema diciendo que no estaba la dependencia de Composer con php53, php54, php55 o php56. Eso a pesar de tener instalado PHP con Mamp. Yo lo solucioné ejecutando el comando:

brew install php56

Eso me instaló php56 con brew y luego funcionó todo bien cuando hice el comando.

brew install composer

Nota: Tengo que reconocer que desconozco si simplemente en el "brew tap homebrew/php", indicando la versión de PHP que queremos, se puede solucionar.

Posibles problemas en Windows y sus soluciones

El proceso de instalar Composer en un Windows es muy sencillo, No obstante durante la instalación te puede dar un problema habitual que la verdad asusta un poco cuando lo ves, pero que es muy sencillo de solucionar. Por lo menos a mi me ha surgido ese problema en Windows en mi instalación de PHP bajo Xamp.

The openssl extension is missing, which means that secure HTTPS transfers are impossible.
If possible you should enable it or recompile php with --with-openssl

No te preocupes porque no tienes que recompilar nada! Simplemente abre el archivo php.ini y busca la línea:

;extension=php_openssl.dll

Quítale el punto y coma ";" que lleva delante, porque hace que esa línea se tenga en cuenta como un comentario. Entonces ya estará activa la extensión openssl y podrás instalar composer normalmente.

Otro problema que puedes encontrar en Windows, aunque ya no en la instalación sino en el uso de Composer, es que el archivo JSON esté mal formado. Si revisas la sintaxis de tu JSON y encuentras que esta todo bien quizás tu problema sea la codificación o juego de caracteres. Los archivos JSON deben escribirse en encoding "UTF-8", además no debes usar BOM. La codificación la puedes cambiar con tu editor preferido, cada editor tiene la opción de guardar con un encoding determinado en una parte distinta.

Conclusión

De momento creo que es todo lo que necesitas saber para que instalar Composer no te resulte ningún problema. En el siguiente artículo nos dedicaremos a explicar en detalle el uso de Composer.

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual