#inslatar:
curl -sS https://getcomposer.org/installer -o composer-setup.php
# Verificar el hash de seguridad (opcional pero recomendado)
sudo apt install php-cli curl
HASH=`curl -sS https://composer.github.io/installer.sig`
echo $HASH # Debería mostrar un hash como: 55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae
# Instalar Composer globalmente
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
# Eliminar el archivo de instalación
rm composer-setup.php
# Ejecuta esto en otra terminal para obtener la clave correcta
curl -sS https://composer.github.io/releases.pub
# Para obtener todas las claves necesarias
curl -sS https://composer.github.io/installer.sig
curl -sS https://composer.github.io/snapshots.pub
#luego haz esto:
Ejecuta: composer self-update --update-keys
ejemplo:
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFz...
[CONTENIDO COMPLETO DE LA CLAVE]
...=
-----END PGP PUBLIC KEY BLOCK-----
Cuando te pida Enter Dev / Snapshot Public Key:
Pega SOLO el bloque de la clave (sin el hash inicial)
es decir el resultado de esto no
curl -sS https://composer.github.io/installer.sig
el resultado de esto si va:
curl -sS https://composer.github.io/snapshots.pub
Presiona Enter
Presiona Ctrl+D (esto indica "fin del input")
#instalar claves automaticamente:
#Comando alternativo todo-en-uno:
# Forzar la actualización sin interacción
sudo COMPOSER_ALLOW_SUPERUSER=1 composer self-update --update-keys --no-interaction
# O usar echo para automatizar
echo -e "-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----" | composer self-update --update-keys
# Configurar timeout global de 300 segundos (5 minutos)
composer config -g process-timeout 300
composer config -g github-protocols https
# Configurar timeout para descargas
composer config -g disable-tls false
composer config -g secure-http true
Verificación:
# Probar que funcione
composer diagnose
composer --version
reinstalar
# Remover Composer completamente
sudo rm /usr/local/bin/composer
rm -rf ~/.composer
# Instalar versión específica que no requiera keys inmediatamente
curl -sS https://getcomposer.org/installer | php -- --version=2.8.11
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
composer sin vericar las cllaves no recomendado:
Solución manual definitiva:
# Primero, actualizar Composer sin verificar claves
composer self-update --no-check-keys
# Luego actualizar las claves en modo interactivo
composer self-update --update-keys
#Verificar y configurar DNS/resolución opcional no necesario:
# Probar conectividad a getcomposer.org
ping -c 4 getcomposer.org
# Probar conexión HTTPS
curl -v https://getcomposer.org/versions --connect-timeout 30
# Si hay problemas de DNS, usar Google DNS temporalmente
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf