Mensajes de error
Homebrew falla con «curl: (28)» en el Mac
Homebrew descarga con curl. El código de salida 28 de curl es un tiempo de espera agotado. La documentación de curl dice: «The specified time-out period was reached» (se alcanzó el tiempo de espera indicado).
Síntomas
brew installse detiene concurl: (28)y luego un mensaje de que se agotó el tiempo.- Homebrew dice que no pudo descargar un recurso.
- Las descargas fallan en una red lenta, con una VPN o en una red de empresa.
Causas probables
- Una conexión lenta o con pérdidas. Los bottles grandes agotan el tiempo con un Wi-Fi débil o un punto de acceso.
- Un proxy que curl no usa. Homebrew usa
http_proxy,https_proxyyall_proxy. - Un firewall que descarta tráfico. Una red que descarta las conexiones al servidor de descargas provoca un tiempo de espera agotado.
- Una ruta IPv6 rota. El servidor de descargas tiene una dirección IPv6 y el IPv6 no funciona.
Cómo comprobarlo
Deja que Homebrew revise tu sistema.
brew doctorPrueba el servidor de descargas con curl, solo por IPv4.
curl -4 -I https://ghcr.io/v2/Muestra las variables de proxy.
env | grep -i proxyMide la conexión.
networkQuality
Cómo solucionarlo
Deja que Homebrew lo intente más veces. El valor predeterminado es 3 reintentos.
export HOMEBREW_CURL_RETRIES=5Si la red necesita un proxy, configúralo en la misma shell.
export https_proxy=http://proxy.example.com:8080Si tu empresa tiene una réplica, define
HOMEBREW_BOTTLE_DOMAINyHOMEBREW_API_DOMAIN.Si puedes, vuelve a ejecutar el comando en una red más rápida.
Con Kilobat
Comprueba si la red tiene límite de datos, va por VPN o es lenta.
kilobat conditionsEl diagnóstico de conexión de Kilobat prueba el host capa por capa: red, proxy, DNS, reglas, IPv4, IPv6, TLS y el servidor. Indica la capa que falló.
kilobat why https://ghcr.io/v2/Mantén el Mac activo mientras se ejecuta la instalación.
kilobat awake -- brew upgradeEstas comprobaciones de Kilobat son gratuitas. Los agentes de IA las ejecutan por MCP con
diagnose_connectionydiagnose_network. Consulta Averiguar por qué no conecta un sitio o una API.
Preguntas
¿Qué es el error 28 de curl?
Es CURLE_OPERATION_TIMEDOUT. La página man de curl describe el código de salida 28 como un tiempo de espera agotado de la operación.
Fuentes
- curl: libcurl error codes
- curl(1), EXIT CODES, página man instalada con macOS 27.2
- Homebrew Docs: Manpage, variables de entorno
- brew(1), HOMEBREW_CURL_RETRIES, página man instalada con Homebrew
Fuentes revisadas el 29 de octubre de 2026. Las páginas man son las que se instalan con macOS; abre una con man <name> en Terminal.