Como instalar composer en Mac y Linux

Instalar composer en mac
Escrito por: Cesar F. Miranda Salcedo
enero 19, 2021

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.

¿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.

  1. 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.
  2. 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.

¿Necesitas ayuda?

Plectro Lab es una Agencia de desarrollo web con amplia experiencia desarrollando sitios web, aplicación móviles, redacción de contenido y SEO.

Quiero más información

También te podría interesar…

0 Comments

Submit a Comment

Tu dirección de correo electrónico no será publicada.