Composer es una popular herramienta de gestión de dependencias para PHP, creada principalmente para facilitar la instalación y las actualizaciones de dependencias de un proyecto.
Esta herramienta permite comprobar que otros paquetes depende en un proyecto especifico y los instalará por ti, utilizando las versiones adecuadas según los requisitos de tu proyecto.
Pasos previos
Para utilizar composer
es necesario tener un servidor web con PHP instalado.

Dependencias necesarias para PHP
Para que funcione correctamente composer
, es necesario instalar unos paquetes de PHP necesarios:
apt install git curl php-cli unzip
Instalación de composer
Composer
ofrece un script escrito en PHP para poder proceder a la instalación.
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
Luego comprobamos que se ha descargado el fichero correctamente con el HASH
que ofrecen los de Composer
:
HASH=`curl -sS https://composer.github.io/installer.sig`
Comprobamos que el hash es correcto para instalar composer
:
php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Tras ejecutar, deberemos de recibir esta salida:
Installer verified
Para instalar composer
de forma global, procederemos a ejecutar:
sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
La salida del comando debería de ser similar a esta:
All settings correct for using Composer
Downloading...
Composer (version 2.5.8) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Tras esto, podremos ejecutar el comando composer
:
composer
Con la siguiente salida:
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.5.8 2023-06-09 17:13:21
Usage:
command [options] [arguments]
Options:
-h, --help Display help for the given command. When no command is given display help for the list command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
--profile Display timing and memory usage information
--no-plugins Whether to disable plugins.
--no-scripts Skips the execution of all scripts defined in composer.json file.
-d, --working-dir=WORKING-DIR If specified, use the given directory as working directory.
--no-cache Prevent use of the cache
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
. . .
Comentarios