Mensagens de erro

O Homebrew falha com “curl: (28)” no Mac

O Homebrew faz downloads com curl. O código de saída 28 do curl indica que o tempo esgotou. A documentação do curl diz: “O período de tempo limite especificado foi atingido.”

Aplica-se a: Homebrew atual em todas as versões atuais do macOS.Verificado: 29 de outubro de 2026

Sintomas

  • brew install para com curl: (28), seguido de uma mensagem informando que o tempo esgotou.
  • O Homebrew informa que não conseguiu baixar um recurso.
  • Os downloads falham em uma rede lenta, VPN ou rede corporativa.

Possíveis causas

  • Conexão lenta ou com perdas. Bottles grandes podem exceder o tempo limite em um Wi-Fi fraco ou acesso pessoal.
  • Um proxy que o curl não usa. O Homebrew usa http_proxy, https_proxy e all_proxy.
  • Um firewall que descarta tráfego. Uma rede que descarta conexões com o host de download causa esgotamento de tempo.
  • Um caminho IPv6 quebrado. O host de download tem um endereço IPv6, mas o IPv6 não funciona.

Como verificar

  1. Deixe o Homebrew verificar seu sistema.

    brew doctor
  2. Teste o host de download com curl, usando apenas IPv4.

    curl -4 -I https://ghcr.io/v2/
  3. Mostre as variáveis de proxy.

    env | grep -i proxy
  4. Meça a conexão.

    networkQuality

Como corrigir

  1. Permita que o Homebrew tente mais vezes. O padrão é 3 novas tentativas.

    export HOMEBREW_CURL_RETRIES=5
  2. Se a rede exigir um proxy, configure-o no mesmo shell.

    export https_proxy=http://proxy.example.com:8080
  3. Se sua empresa tiver um espelho, configure HOMEBREW_BOTTLE_DOMAIN e HOMEBREW_API_DOMAIN.

  4. Execute o comando novamente em uma rede mais rápida, se puder.

Com o Kilobat

  1. Verifique se a rede tem limite de dados, usa VPN ou é lenta.

    kilobat conditions
  2. O diagnóstico de conexão do Kilobat testa o host camada por camada: rede, proxy, DNS, regras, IPv4, IPv6, TLS e servidor. Ele indica a camada que falhou.

    kilobat why https://ghcr.io/v2/
  3. Mantenha o Mac ativo durante a instalação.

    kilobat awake -- brew upgrade
  4. Essas verificações do Kilobat são gratuitas. Agentes de IA as executam pelo MCP com diagnose_connection e diagnose_network. Consulte Descubra por que um site ou API não conecta.

Perguntas

O que é o erro 28 do curl?

É CURLE_OPERATION_TIMEDOUT. A página de manual do curl lista o código de saída 28 como tempo limite de operação esgotado.

O erro 28 do curl prova que um servidor de download está fora do ar?

Não. A operação excedeu o tempo limite. Uma conexão lenta, proxy ou firewall também podem causar isso.

Fontes

Verificado em 29 de outubro de 2026.