Cómo Instalar y Usar Composer – Tutorial Completo
En este artículo, te mostraremos cómo instalar y usar Composer en varias plataformas. Composer es un administrador de dependencias para PHP. Es una herramienta simple y confiable que los desarrolladores usan para administrar e integrar paquetes o bibliotecas externas en sus proyectos basados en PHP. De esta manera, no tienen que crear sus páginas web o aplicaciones web desde cero.
Para ayudarte a dominar esta herramienta, también aprenderás cómo crear un proyecto PHP básico.
Antes de aprender cómo instalar Composer, asegúrese de tener acceso a la interfaz de línea de comandos en su sistema o servidor.
Tabla de Contenidos
Instalando Composer
Lo primero y lo más fácil de este tutorial es instalar Composer en tu sistema. Aquí puedes encontrar la guía de instalación tanto para Windows como para Linux. Los usuarios de Mac solo tienen que abrir la terminal y seguir los mismos pasos que para Linux.
1. Instalar Composer en un hosting compartido, Linux o macOS
Los comandos para instalar Composer en hosting compartido, Linux (PC o servidor) y macOS son los mismos.
Composer ahora está pre-instalado en los planes de hosting web Premium y Empresarial de Hostinger. Si usas un hosting compartido, puedes saltarte esta parte. Sin embargo, si descubres que está desactualizado, puedes actualizar Composer ejecutando este comando:
php composer.phar self-update
Sigue estas instrucciones para saber cómo instalar Composer en tu sistema:
- Conéctate a su cuenta de hosting utilizando la conexión SSH. Puedes aprender cómo hacerlo en este tutorial de SSH.
- Descarga Composer desde el sitio web oficial con el siguiente comando:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- Verifica la firma del instalador (SHA-384) para asegurarte de que el archivo del instalador no está dañado. Introduce:
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
La larga cadena de caracteres en el comando anterior (“e0012edf…“) es la firma del instalador. Cambia cada vez que sale una nueva versión de Composer. Por lo tanto, asegúrate de obtener el último SHA-384 de esta página.
- Una vez hecho esto, puedes instalar Composer local o globalmente. La instalación local significa que el administrador de dependencias se almacenará en tu directorio actual, y debes especificar la ruta antes de ejecutar los comandos correspondientes. Mientras tanto, la instalación global te permite ejecutar Composer desde cualquier lugar de tu sistema almacenándolo en el directorio /usr/local/bin. Aquí te explicamos cómo completar ambos métodos:
- Instalación local:
php composer-setup.php
Instalación global:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Obtendrás este resultado:
All settings correct for using Composer Downloading... Composer (version 1.10.5) successfully installed to: /usr/local/bin/composer
- Instalación local:
- Una vez hecho esto, elimina el instalador:
php -r "unlink('composer-setup.php');"
- Prueba la instalación de Composer:
composer
La línea de comando debería mostrarte este resultado:
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ / __ `__ / __ / __ / ___/ _ / ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / ____/____/_/ /_/ /_/ .___/____/____/___/_/ /_/ Composer version 1.10.5 2020-02-12 16:20:11
2. Instalando Composer en Windows
Comenzar a usar Composer en una máquina con Windows es un poco diferente. No se necesitan instrucciones de línea de comandos para descargar e instalar el software.
Simplemente sigue estos pasos:
- Instala PHP en tu computadora. Recomendamos usar XAMPP con este propósito, ya que el proceso es sencillo y puedes completarlo en unos minutos.
- Una vez que XAMPP esté instalado, descarga la última versión de Composer.
- Ejecuta el asistente de instalación de Composer. Cuando te solicite que actives el modo desarrollador, ignóralo y continúa con el proceso de instalación.
- Aparecerá otra ventana y te pedirá que ubiques la línea de comando PHP. Por defecto, está en C:/xampp/php/php.exe. Después de especificar la ubicación, haz clic en Siguiente.
- Se te solicitará la configuración de proxy. Deja la casilla sin marcar y omite esta parte presionando Siguiente. Luego, en la última ventana, haz clic en Instalar.
- Después de completar la instalación, abre el símbolo del sistema. Presiona CTRL + R, escribe “cmd” y haz clic en OK.
- Ingresa el siguiente comando:
composer
¡Gran trabajo! Ahora tienes Composer instalado en tu computadora con Windows. El instalador agregará automáticamente Composer a la variable PATH. Ahora puedes abrir el símbolo del sistema y ejecutar el software desde cualquier lugar.
Generando y comprendiendo composer.json
Ahora viene la parte interesante: usar Composer en tu proyecto PHP.
Para lograr esto, debes generar un archivo composer.json. Puedes considerarlo como una forma de buscar datos de una lista para Composer. Este archivo contiene paquetes (dependencias) que deben descargarse.
Además, composer.json también verifica la compatibilidad de la versión con tu proyecto. Esto significa que si estás utilizando un paquete anterior, composer.json te lo informará para evitar problemas futuros.
Tienes la opción de crear y actualizar composer.json tú mismo. Sin embargo, teniendo en cuenta que este es un tutorial sobre la automatización de tareas redundantes, no te recomendamos que crees el archivo manualmente.
Demostremos la utilidad de composer.json creando un proyecto de ejemplo.
Nuestro proyecto es un simple temporizador PHP, que permite a los desarrolladores descubrir cuánto tiempo lleva ejecutar el código. Esto es muy útil para fines de depuración y optimización.
Puedes seguir estos pasos:
- Crea un nuevo directorio para el proyecto. Como nuestro proyecto es un temporizador, simplemente nombraremos la carpeta phptimer. Para hacer esto, ejecuta el siguiente comando:
mkdir phptimer
- Ingresa el nuevo directorio creado:
cd phptimer
- Encuentra un paquete o biblioteca para el proyecto. El mejor lugar para lograrlo es Packagist, donde encontrarás toneladas de bibliotecas para ayudar al desarrollo de tu proyecto. Para este tutorial, necesitamos un paquete de temporizador. Para obtenerlo, simplemente escribe timer en la barra de búsqueda:
Como puedes ver, hay varios paquetes de temporizadores disponibles y cada uno tiene un nombre y una pequeña descripción de lo que hace. En este ejemplo, elegimos phpunit/php-timer ya que tiene la mayoría de las descargas y la mayoría de las estrellas de GitHub. - Especifica el paquete deseado para que Composer pueda agregarlo a tu proyecto:
composer require phpunit/php-timer
La salida mostrará la versión de phpunit/php-timer:
Using version ^1.0 phpunit/php-timer
El símbolo de intercalación (^) se define como la opción para una interoperabilidad máxima. Esto significa que Composer siempre actualizará el paquete hasta que una determinada versión haga que falle de alguna manera.
En nuestro caso, el rango de actualización del paquete es >=1.0.9 <2.0.0, ya que la versión 2.0.0 romperá la compatibilidad con versiones anteriores. Para obtener información detallada sobre las versiones en Composer, visite la página de documentación.
Después de ejecutar el comando anterior, el directorio de su proyecto tendrá dos archivos nuevos: composer.json y composer.lock, y una carpeta llamada vendor. Este es el directorio donde Composer almacenará todos tus paquetes y dependencias.
Usando el Script Autoload
Tu proyecto es casi bueno, y lo único que queda por hacer es cargar la dependencia en tu script PHP. Y, afortunadamente, el archivo de carga automática de Composer te ayuda a completar este proceso más rápido.
Para usar la carga automática, escribe la siguiente línea antes de declarar o instanciar nuevas variables en tu secuencia de comandos:
https://getcomposer.org/doc/articles/versions.md
Te daremos un ejemplo para ayudarte a comprender mejor.
Digamos que quieres probar nuestro proyecto phptimer:
- Abre el editor de nano texto para crear un script llamado demo.php.
nano demo.php
Luego, pega las siguientes líneas en tu archivo:
<?php require __DIR__ . '/vendor/autoload.php' Timer::start(); // your code $time = Timer::stop(); var_dump($time); print Timer::secondsToTimeString($time);
- Ejecuta el script:
php demo.php
El terminal debe mostrar una salida similar a la siguiente:
double(1.0893424438611E-5) 0 ms
Actualización de las dependencias de tu proyecto
Por último, debes saber cómo actualizar tus paquetes. Esto lo puedes hacer de dos maneras:
- Actualización universal. Para verificar e instalar actualizaciones para todos tus paquetes y dependencias a la vez, escribe el siguiente comando:
composer update
- Actualización específica del paquete. Ejecuta este comando para verificar las actualizaciones de uno o más paquetes específicos:
composer update vendor/package vendor2/package2
Recuerda reemplazar la parte de vendor/package con el nombre del paquete que deseas actualizar.
Al ejecutar el comando de update, Composer también actualiza los archivos composer.json y composer.lock para que coincidan con el estado actual de las dependencias de tu proyecto.
Conclusión
Composer ayuda a los desarrolladores en la gestión de dependencias de proyectos PHP. Gracias a este software, pueden integrar y administrar fácilmente paquetes de código abierto en un solo lugar.
Además, Composer también puede resolver dependencias por proyecto. Por lo tanto, los desarrolladores pueden controlar los paquetes para cada proyecto y mantener el tamaño del proyecto bajo control.
En este artículo, has aprendido cómo instalar y usar Composer de manera efectiva. Para resumir, revisemos todos los pasos una vez más:
- Instala Composer en un sistema de alojamiento compartido, Linux, macOS o Windows.
- Genera y comprende el archivo composer.json.
- Utiliza la secuencia de comandos de carga automática (Autoload Script) para cargar dependencias en tu archivo PHP.
- Actualiza las dependencias de tu proyecto.
Esperamos que al seguir nuestra guía, tengas una base sólida para crear proyectos increíbles con PHP. Buena suerte y no dudes en hacer cualquier pregunta en la sección de comentarios a continuación.
Comentarios
May 07 2018
Buenas Tardes. Estoy implementando RoundCube además necesito Calendar, siguiendo los pasos de otros tutoriales mas esto sigo teniendo el mismo problema que me deja la pantalla en blanco al presionar el botón de Calendario al ingresar a la casilla de correo desde RoundCube. ¿Que podría estar causando este problema?
June 07 2018
Hola Emmanuel, Parece que tienes el error de pantalla blanca o error de scripts. En este caso recomiendo probar distintas versiones de PHP, puede que el sistema instalado funcione con una versión anterior o más nueva a la que usas actualmente. También se podría revisar en la consola de desarrollador en el navegador que uses, en Google Chrome se accede presionando F12 > Console, ahí podrás encontrar más detalles del problema.
June 07 2018
No puedo crear un proyecto cuando hago esto: Win_@Anonymous /cygdrive/c/wamp/www $ composer create-project symfony/framework-standard-edition PHP Fatal error: Uncaught Error: Class 'Phar' not found in /cygdrive/c/composer/composer.phar:23 Stack trace: #0 {main} thrown in /cygdrive/c/composer/composer.phar on line 23 Despues voy a ver composer.phar lo que dice en la linea 23 y dice esto: #!/usr/bin/env php <?php /* * This file is part of Composer. * * (c) Nils Adermann * Jordi Boggiano * * For the full copyright and license information, please view * the license that is located at the bottom of this file. */ // Avoid APC causing random fatal errors per https://github.com/composer/composer/issues/264 if (extension_loaded('apc') && ini_get('apc.enable_cli') && ini_get('apc.cache_by_default')) { if (version_compare(phpversion('apc'), '3.0.12', '>=')) { ini_set('apc.cache_by_default', 0); } else { fwrite(STDERR, 'Warning: APC 23 Phar::mapPhar('composer.phar'); require 'phar://composer.phar/bin/composer'; Antes instale Composer en Win10 y porque no me deja crear el proyecto desde Cygwin?
June 11 2018
Hola Ale, te invito a que te pongas en contacto con nuestro equipo de soporte vía chat, pues por este medio no podemos darte una respuesta adecuada sin mirar tu cuenta directamente.
April 23 2019
Buenos días, estaba siguiendo el tutorial paso a paso para instalar composer en Hostiger y cuando ejecutaba el comando "sh composer-install.sh" me tiraba un error, revisando detenidamente me di cuenta que el nombre del archivo estaba mal ya que el archivo que se crea es composer-installer.sh, en principio no me di cuenta de esta diferencia. Pero lo menciono porque tal vez alguien más tuvo o tiene ese mismo problema, el comando correcto seria sh composer-installer.sh Saludos!
April 23 2019
Hola Gisela, gracias por escribir. Ya fue corregido. Saludos!
November 16 2020
hola, donde puedo encontar literatura para usar las api key de shopify para actualziar el stock desde mis aplicaciones? y aprendera instalar el sdk de shopify
September 21 2021
... Como puedes ver, hay varios paquetes de temporizadores disponibles y cada uno tiene un nombre y una pequeña descripción de lo que hace. En este ejemplo, elegimos phpunit/php-timer ya que tiene la mayoría de las descargas y la mayoría de las estrellas de GitHub. 4) Especifica el paquete deseado para que Composer pueda agregarlo a tu proyecto: ¿Que hago acá, justo entre el punto 3 y 4 del ejemplo? ¿Lo descargo? ¿Donde lo descargo?¿Como lo descargo? Saludos
September 23 2021
Hola Nicolás! Ingresar al sitio te sirve para obtener el nombre del paquete que vas a indicarle en la instrucción require a composer. No hace falta descargarlo, composer se encargará de gestionarlo. Saludos!