Instalar Composer en Ubuntu

PHP

Tabla de contenido:

Introducción

Composer es una herramienta que permite gestionar dependencias en PHP. Permite con facilidad declarar las bibliotecas que el proyecto necesite.

Gestión de dependencias

Composer no es un administrador de paquetes, si bien se ocupa de “paquetes” los administra por proyecto instalándolos en un directorio espesifico que comúnmente es vendor en la raíz del proyecto.

La dependencia por defecto no se hace de forma global, pero es posible realizar esto con el parámetro global.

Instalación en Ubuntu

  • Requisitos
    • PHP
    • 7z
    • gzip
    • tar
    • unrar
    • unzip

A diferencia de Windows que cuenta con un instalador en sistemas basados en GNU/Linux se utiliza curl para descargar composer y posteriormente ubicarlo en un directorio que permita su ejecución global.

Para iniciar se ejecutan los siguientes comandos

# Descarga el archivo de instalación
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

# Valida que el hash del archivo sea correcto
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

# Ejecuta el archivo de instalación
php composer-setup.php

# Elimina el archivo descargado
php -r "unlink('composer-setup.php');"

Al finalizar se observara un nuevo archivo composer.phar el cual permite utilizar composer, pero esto únicamente es a nivel local del directorio donde se encuentra. Con el siguiente comando se podrá utilizar de forma global.

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

Con esto se puede utilizar de forma global, al ejecutar el comando

composer 

Tendrá la siguiente salida

Jonnathan Chiroy Profile Picture

"Hola, soy un desarrollador apasionado por Laravel y su ecosistema que permiten desarrollar aplicaciones magnificas, tratare de compartir mis conocimientos y vivencias desarrollando aplicaciones utilizando TALL stack, PostgreSQL y MySQL. 🤘"

Jonnathan Chiroy (jchiroy)
Laravel developer