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