Messages d’erreur
Homebrew échoue avec « curl: (28) » sur Mac
Homebrew télécharge avec curl. Le code de sortie 28 de curl est un délai dépassé. La documentation de curl indique : « The specified time-out period was reached. » (le délai indiqué a été atteint).
Symptômes
brew installs’arrête aveccurl: (28), suivi d’un message indiquant que le délai a expiré.- Homebrew indique qu’il n’a pas réussi à télécharger une ressource.
- Les téléchargements échouent sur un réseau lent, un VPN ou un réseau d’entreprise.
Causes probables
- Une connexion lente ou avec pertes. Les gros bottles expirent sur un Wi-Fi faible ou un partage de connexion.
- Un proxy que curl n’utilise pas. Homebrew utilise
http_proxy,https_proxyetall_proxy. - Un coupe-feu qui rejette le trafic. Un réseau qui rejette les connexions vers l’hôte de téléchargement provoque un délai dépassé.
- Un chemin IPv6 défaillant. L’hôte de téléchargement a une adresse IPv6, et l’IPv6 ne fonctionne pas.
Comment vérifier
Laissez Homebrew vérifier votre système.
brew doctorTestez l’hôte de téléchargement avec curl, en IPv4 uniquement.
curl -4 -I https://ghcr.io/v2/Affichez les variables de proxy.
env | grep -i proxyMesurez la connexion.
networkQuality
Comment corriger
Laissez Homebrew réessayer davantage. Par défaut, il fait 3 nouvelles tentatives.
export HOMEBREW_CURL_RETRIES=5Si le réseau exige un proxy, définissez-le dans le même shell.
export https_proxy=http://proxy.example.com:8080Si votre entreprise dispose d’un miroir, définissez
HOMEBREW_BOTTLE_DOMAINetHOMEBREW_API_DOMAIN.Relancez la commande sur un réseau plus rapide, si possible.
Avec Kilobat
Vérifie si le réseau est limité, passe par un VPN ou est lent.
kilobat conditionsLe diagnostic de connexion de Kilobat teste l’hôte couche par couche : réseau, proxy, DNS, règles, IPv4, IPv6, TLS et serveur. Il désigne la couche en échec.
kilobat why https://ghcr.io/v2/Garde le Mac éveillé pendant l’installation.
kilobat awake -- brew upgradeCes vérifications Kilobat sont gratuites. Les agents IA les lancent via MCP avec
diagnose_connectionetdiagnose_network. Consultez Trouver pourquoi un site ou une API ne se connecte pas.
Questions
Qu’est-ce que l’erreur curl 28 ?
C’est CURLE_OPERATION_TIMEDOUT. La page man de curl indique que le code de sortie 28 correspond à un délai d’opération dépassé.
Sources
- curl : codes d’erreur de libcurl
- curl(1), section EXIT CODES, page man installée avec macOS 27.2
- Documentation Homebrew : page man, variables d’environnement
- brew(1), HOMEBREW_CURL_RETRIES, page man installée avec Homebrew
Sources vérifiées le 29 octobre 2026. Les pages man sont celles installées avec macOS ; ouvrez-en une avec man <name> dans Terminal.