¿Cómo instalar Composer en Linux?

Composer es el administrador de paquetes usado por Laravel y otros frameworks.

Método 1:

# Moverse a /usr/bin
cd /usr/bin

# Descargar composer (tener instalado php)
curl -sS https://getcomposer.org/installer | sudo php

# Renombramos de composer.phar a composer
sudo mv composer.phar composer

Método 2:

# Descargar composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

# Verificar integridad del archivo composer-setup.php
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"


# Instalar composer
php composer-setup.php

# Eliminar el archivo 'composer-setup.php' luego de su instalación
php -r "unlink('composer-setup.php');"

# Mover el archivo 'composer.phar' y renombrarlo además de hacer que el comando se pueda ejecutar globalmente
sudo mv composer.phar /usr/local/bin/composer

Problemas y Soluciones:

# --- ERROR ---
# Instalar dependencias
erikrocha@xia:~/apps/avisoscenter-2022$ sudo composer install

# Error
...
- Downloading spatie/flare-client-php (1.2.0)
- Downloading spatie/ignition (1.3.1)
- Downloading spatie/laravel-ignition (1.3.1)
   0/105 [>---------------------------]   0%A connection timeout was encountered. If you intend to run Composer without connecting to the internet, run the command again prefixed with COMPOSER_DISABLE_NETWORK=1 to make Composer run in offline mode.
    Failed to download doctrine/inflector from dist: curl error 28 while downloading https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89: Resolving timed out after 10001 milliseconds
    Now trying to download from source
  - Syncing doctrine/inflector (2.0.4) into cache
    Failed to download doctrine/lexer from dist: curl error 28 while downloading https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229: Resolving timed out after 10001 milliseconds
    Now trying to download from source

# --- SOLUCIÓN ---
# Deshabilitar IPv6

# Editar el archivo de configuración de GRUB
sudo nano /etc/default/grub

# Añadir ipv6.disable=1 a la línea GRUB_CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"

# Actualizar GRUB y reiniciar
sudo update-grub
sudo reboot
ErikROCHA
ErikROCHA
Articles: 12