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.)
Symptome
brew installbricht mitcurl: (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_proxyundall_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
Lass Homebrew dein System prüfen.
brew doctorTeste den Download-Host mit curl, nur über IPv4.
curl -4 -I https://ghcr.io/v2/Zeige die Proxy-Variablen an.
env | grep -i proxyMiss die Verbindung.
networkQuality
So behebst du es
Lass Homebrew öfter versuchen. Standard sind 3 Wiederholungen.
export HOMEBREW_CURL_RETRIES=5Wenn das Netzwerk einen Proxy braucht, setze ihn in derselben Shell.
export https_proxy=http://proxy.example.com:8080Wenn deine Firma einen Mirror hat, setze
HOMEBREW_BOTTLE_DOMAINundHOMEBREW_API_DOMAIN.Führe den Befehl nach Möglichkeit in einem schnelleren Netzwerk erneut aus.
Mit Kilobat
Prüfe, ob das Netzwerk begrenzt, ein VPN oder langsam ist.
kilobat conditionsKilobats 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/Halte den Mac wach, während die Installation läuft.
kilobat awake -- brew upgradeDiese Kilobat-Prüfungen sind kostenlos. KI-Agenten führen sie über MCP mit
diagnose_connectionunddiagnose_networkaus. 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
- curl: libcurl error codes
- curl(1), EXIT CODES, Manpage aus macOS 27.2
- Homebrew Docs: Manpage, Umgebungsvariablen
- brew(1), HOMEBREW_CURL_RETRIES, mit Homebrew installierte Manpage
Quellen geprüft am 29. Oktober 2026. Die Manpages sind die mit macOS installierten; öffne eine mit man <name> im Terminal.