Este artículo tiene por propósito que aprendas a instalar Composer de 2 formas: local y global en Linux o Mac. Pero primero vamos a entrar un poco en detalle sobre la herramienta que estás por utilizar.
Índice de contenido
- ¿Qué es Composer?
- Instalación en Linux y MacOS
- Usar Composer
- Instalando dependencias en tu proyecto
- Actualizando las dependencias de tu proyecto
- Conclusión
¿Qué es Composer?
Composer es un sistema de gestión de paquetes para programar en PHP, que te permite integrar paquetes o librerías externas en tus proyectos. Composer está inspirado en npm para NodeJs y en Bundler para Ruby. Hoy en día es una herramienta indispensable para cualquier desarrollador web.
Los “paquetes” o librerías son administradas por proyecto, se instalan en un directorio (vendor) dentro de su proyecto. De forma predeterminada, no instala nada globalmente.
Imagina que tienes un aplicación que depende de varias librerías y algunas de esas librerías dependen de otras. Composer al ser un administrador de dependencias te permite declarar librerías en un archivo, solo tienes que averigua que versiones de paquetes necesitan instalarse (quiere decir que los descarga en tu proyecto). Y lo mejor es que puedes actualizar todas tus dependencias con un solo comando.
Composer busca los paquetes en el repositorio Packagist: https://packagist.org
Este repositorio contiene una gran variedad de librerías y paquetes, como: Laravel, PhpMyAdmin, PHPMailer, Codeigniter, etc.
Requisitos para instalar Composer:
- PHP 5.3.2 o superior.
- Sistemas operativos Windows, Linux y macOS.
Instalación en Linux y MacOS
Antes de comenzar es necesario que tengas acceso a la terminal de comandos en tu computadora o en un servidor.
Instalación local
Descarga composer de la página oficial usando el siguiente script en la terminal o linea de comandos.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Este script de instalación verificará algunas configuraciones del archivo php.ini
, si alguna configuración esta configurada incorrectamente te advertirá y luego descargará el último composer.phar en el directorio actual.
Las 4 líneas de arriba quieren decir lo siguiente:
- Descarga el instalador en el directorio actual
- Verifique el instalador SHA-384
- Ejecuta el instalador
- Elimina el instalador
Claramente el sitio oficial de composer hace una advertencia, y es que el código de instalación cambia con cada versión, así que cada vez que vayas a instalarlo, asegúrate de bajar la versión más reciente del sitio oficial, es posible que el que está en esta página no funcione.
Una vez tengas descargado el binario en tu carpeta, puedes ejecutar composer con el siguiente comando: php composer.phar
.
Puede instalar Composer en un directorio específico usando la opción –install-dir
y adicionalmente puedes cambiar el nombre usando la opción –filename
.
php composer-setup.php –install-dir=bin –filename=composer
Ahora puedes usar el comando php bin/composer
.
instalación global
Puedes colocar composer.phar
en el lugar que quieras. Si lo colocas en un directorio que es parte de tu PATH
, puedes acceder a él globalmente. En los sistemas Unix, incluso puedes hacerlo ejecutable e invocarlo sin usar directamente el intérprete php.
Después de ejecutar el instalador, puedes usar el siguiente comando para mover composer.phar
a un directorio que esté en su ruta:
mv composer.phar /usr/local/bin/composer
Ahora podrás usar el comando composer
en lugar de php composer.phar
.
Se recomienda la instalación global en cada máquina/equipo, lo que nos permite tener solo una instalación de composer para administrar tus proyectos php.
Usar composer
Inicia composer en tu proyecto con el siguiente comando, es muy similar a Git:
composer init
Este comando nos lleva paso a paso en el proceso de establecer el archivo de configuración de Composer.
El archivo generado con composer init, se encargará de manejar la forma en que opera Composer. Este archivo de configuración está en formato JSON y tiene el nombre de composer.json, es similar a package.json de NodeJs.
Instalando dependencias en tu proyecto
El siguiente comando se usa para instalar una dependencia en tu proyecto:
composer require nombre_paquete
El comando producirá que Composer busque la mejor versión del paquete que no rompa con nuestras dependencias actuales.
composer require phpunit/php-timer
Así es como se ve un comando real de composer. El comando actualiza el archivo composer.json y composer.lock y crea una carpeta con nombre vendor. En este directorio es donde Composer guardará los paquetes y dependencias.
Actualizando las dependencias de su proyecto
La actualización de paquetes y librerías se puede hacer de dos formas.
- Actualización general. Se hacen las instalaciones de todas las actualizaciones de los paquetes de tu proyecto. [snippet class=”language-markup”]composer update[/snippet] Nota: Hacer uso del comando composer update sin especificar el paquete, puede ocasionar problemas de incompatibilidad.
- Actualización de paquete. Usa este comando para revisar las actualizaciones por paquete en específico. [snippet class=”language-markup”]composer update nombre_paquete[/snippet]
Recuerda cambiar nombre_paquete por el nombre del paquete que quieres actualizar.
Cuando se ejecuta el comando update, Composer actualiza el archivo composer.json y composer.lock para ajustar las versiones de las dependencias de tu proyecto.
Conclusión
Usar un gestor de paquetes nos ayuda a reducir el tiempo en tareas como actualizaciones y mantenimiento de las librerías del proyecto en el que estamos trabajando.
Evita usar el comando composer update sin especificar el paquete, no queremos que tu proyecto se rompa, ¿verdad?.
Como ya mencionamos la web de packagist.org es el repositorio predeterminado para Composer, así que si quieres trabajar con alguna dependencia, te recomiendo que busques en esa página.
0 Comments