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).

S’applique à : la version actuelle de Homebrew sur toutes les versions actuelles de macOS.Vérifié le 29 octobre 2026

Symptômes

  • brew install s’arrête avec curl: (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_proxy et all_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

  1. Laissez Homebrew vérifier votre système.

    brew doctor
  2. Testez l’hôte de téléchargement avec curl, en IPv4 uniquement.

    curl -4 -I https://ghcr.io/v2/
  3. Affichez les variables de proxy.

    env | grep -i proxy
  4. Mesurez la connexion.

    networkQuality

Comment corriger

  1. Laissez Homebrew réessayer davantage. Par défaut, il fait 3 nouvelles tentatives.

    export HOMEBREW_CURL_RETRIES=5
  2. Si le réseau exige un proxy, définissez-le dans le même shell.

    export https_proxy=http://proxy.example.com:8080
  3. Si votre entreprise dispose d’un miroir, définissez HOMEBREW_BOTTLE_DOMAIN et HOMEBREW_API_DOMAIN.

  4. Relancez la commande sur un réseau plus rapide, si possible.

Avec Kilobat

  1. Vérifie si le réseau est limité, passe par un VPN ou est lent.

    kilobat conditions
  2. Le 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/
  3. Garde le Mac éveillé pendant l’installation.

    kilobat awake -- brew upgrade
  4. Ces vérifications Kilobat sont gratuites. Les agents IA les lancent via MCP avec diagnose_connection et diagnose_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

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.