Cómo instalar Composer

  • Por
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.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Fabián

23/10/2014
Error: composer-diagnose
Cuando lanzo el comando: composer-diagnose sale este error,checking platform settings:FAIL

Estoy usando wampserver 2.5, php 5.5.12, activada openssl, y curl

javifelices

24/10/2014
Por si sirve
A ver si te vale lo que comentan aquí.
https://github.com/composer/composer/issues/2574
Un saludo y suerte.

javifelices

25/10/2014
Instalar composer sin ssh
Buenas Miguel, lo primero gracias por los artículos.

Una cosilla, cuando estás en un hosting sin ssh, qué opciones hay de instalar composer?

Un saludo.

midesweb

27/10/2014
Instalar composer sin acceso ssh
Hola Javi! Q tal?
Pues mira, la verdad es que no se podría. Pero aún así Composer te puede ayudar. La idea es que lo instales en local, donde vas a iniciar tu proyecto en la etapa de desarrollo. Trabajas en local con una copia de tu proyecto, donde puedes instalar tus dependencias usando Composer. Tb en local puedes actualizar tus dependencias con Composer.
Cuando lo quieras en remoto, si no tienes ssh no te queda otra que subir los archivos por FTP. Lo que harías sería subir tu copia local actualizada por FTP, igual que siempre.
Saludos!

javifelices

29/10/2014
No había caído en ello :(
Gracias Miguel, lo tendré en cuenta, tienes mucha razón, es que también alguien me lo preguntó al compartirlo, y ya me quedé con la duda también ;)

ariel

01/10/2015
Hola Migue
Buenas Migue gracias por tus artículos. Estaba buscando en varias páginas y foros sobre Lavarel pues quiero averiguar como puedo instalar el Framework con sus dependencias de forma local, o sea si hay posibilidad de descargar los paquetes manualmente e instalarlo luego.

RacsoRR

01/4/2016
Error al instalar composer
Por favor si alguien pudiera ayudarme se le agradeceria bastante. Estoy tratando de instalar Composer para usar Laravel en windows 7 pero me da un error:

The "https://getcomposer.org/composer.phar.sig" file could not be downloaded: php_network_getaddresses: getaddrinfo failed: Host desconocido.
failed to open stream: php_network_getaddresses: getaddrinfo failed: Host desconocido.

Ya he leido todo lo que aparece en la red sobre como instalar composer pero nada sobre esto. quiero tratar de instalarlo manual y ya baje el archivo .phar pero nose donde copiarlo!!!!!! tengo XAMPP instalado.

Camilo Villota

06/7/2016
Gracias
Funcionó perfectamente sobre un MacBookAir, gracias por el aporte

Aitor

18/7/2016
Para instalarlo en un servidor compartido es decir en mi hosting
Hola buenas, la guía de instalación esta bien pero esto es para local, me gustaría saber como lo instalo en un servidor compartido en la red y si esta instalación afectara a las demás paginas den html y php que tengo en ese servidor?

Saludos y gracias

Soraya

02/11/2016
Falla al instalar
Buenas, tengo un problema al instalar, casi al final de la instalación de composer, me aparece el siguiente error: "Failed to decode zlib stream"

VICENTE PASTRANA

18/4/2018
composer en hosting
Hola, todos. quisiera saber cómo trabajar con archivos directamente en el hosting con composer. gracias.