Fehlermeldungen

Homebrew scheitert mit „curl: (28)“ auf dem Mac

Homebrew lädt mit curl herunter. curl-Exit-Code 28 ist ein Timeout. Die curl-Dokumentation sagt: „The specified time-out period was reached.“ (Die angegebene Zeitspanne wurde erreicht.)

Gilt für: aktuelles Homebrew auf allen aktuellen macOS-Versionen.Geprüft: 29. Oktober 2026

Symptome

  • brew install bricht mit curl: (28) ab, gefolgt von einer Meldung, dass die Zeit abgelaufen ist.
  • Homebrew meldet, dass der Download einer Ressource fehlgeschlagen ist.
  • Downloads scheitern in einem langsamen Netzwerk, über VPN oder in einem Firmennetzwerk.

Mögliche Ursachen

  • Eine langsame oder verlustbehaftete Verbindung. Große Bottles laufen bei schwachem WLAN oder über einen Hotspot ins Timeout.
  • Ein Proxy, den curl nicht nutzt. Homebrew verwendet http_proxy, https_proxy und all_proxy.
  • Eine Firewall, die Datenverkehr verwirft. Ein Netzwerk, das Verbindungen zum Download-Host verwirft, verursacht ein Timeout.
  • Ein defekter IPv6-Weg. Der Download-Host hat eine IPv6-Adresse, und IPv6 funktioniert nicht.

So prüfst du es

  1. Lass Homebrew dein System prüfen.

    brew doctor
  2. Teste den Download-Host mit curl, nur über IPv4.

    curl -4 -I https://ghcr.io/v2/
  3. Zeige die Proxy-Variablen an.

    env | grep -i proxy
  4. Miss die Verbindung.

    networkQuality

So behebst du es

  1. Lass Homebrew öfter versuchen. Standard sind 3 Wiederholungen.

    export HOMEBREW_CURL_RETRIES=5
  2. Wenn das Netzwerk einen Proxy braucht, setze ihn in derselben Shell.

    export https_proxy=http://proxy.example.com:8080
  3. Wenn deine Firma einen Mirror hat, setze HOMEBREW_BOTTLE_DOMAIN und HOMEBREW_API_DOMAIN.

  4. Führe den Befehl nach Möglichkeit in einem schnelleren Netzwerk erneut aus.

Mit Kilobat

  1. Prüfe, ob das Netzwerk begrenzt, ein VPN oder langsam ist.

    kilobat conditions
  2. Kilobats Verbindungsdiagnose testet den Host Schicht für Schicht: Netzwerk, Proxy, DNS, Regeln, IPv4, IPv6, TLS und Server. Sie nennt die Schicht, die gescheitert ist.

    kilobat why https://ghcr.io/v2/
  3. Halte den Mac wach, während die Installation läuft.

    kilobat awake -- brew upgrade
  4. Diese Kilobat-Prüfungen sind kostenlos. KI-Agenten führen sie über MCP mit diagnose_connection und diagnose_network aus. Siehe Herausfinden, warum eine Website oder API keine Verbindung bekommt.

Fragen

Was ist curl-Fehler 28?

Das ist CURLE_OPERATION_TIMEDOUT. Die curl-Manpage führt Exit-Code 28 als Zeitüberschreitung eines Vorgangs.

Quellen

Quellen geprüft am 29. Oktober 2026. Die Manpages sind die mit macOS installierten; öffne eine mit man <name> im Terminal.