Сообщения об ошибках
Homebrew падает с “curl: (28)” на Mac
Homebrew скачивает файлы с помощью curl. Код выхода curl 28 — это тайм-аут. В документации curl сказано: «The specified time-out period was reached» (истекло заданное время ожидания).
Симптомы
brew installостанавливается сcurl: (28), а затем сообщает, что время истекло.- Homebrew сообщает, что не смог скачать ресурс.
- Загрузка не удаётся в медленной сети, через VPN или в корпоративной сети.
Вероятные причины
- Медленное подключение или подключение с потерями. Большие bottle-пакеты не успевают скачаться по слабому Wi-Fi или через точку доступа.
- Прокси, который curl не использует. Homebrew использует
http_proxy,https_proxyиall_proxy. - Брандмауэр, который отбрасывает трафик. Если сеть отбрасывает подключения к серверу загрузки, возникает тайм-аут.
- Неработающий путь IPv6. У сервера загрузки есть адрес IPv6, а IPv6 не работает.
Как проверить
Пусть Homebrew проверит вашу систему.
brew doctorПроверьте сервер загрузки через curl только по IPv4.
curl -4 -I https://ghcr.io/v2/Покажите переменные прокси.
env | grep -i proxyИзмерьте подключение.
networkQuality
Как исправить
Пусть Homebrew делает больше попыток. По умолчанию — 3 повтора.
export HOMEBREW_CURL_RETRIES=5Если в сети нужен прокси, задайте его в той же оболочке.
export https_proxy=http://proxy.example.com:8080Если у вашей компании есть зеркало, задайте
HOMEBREW_BOTTLE_DOMAINиHOMEBREW_API_DOMAIN.По возможности выполните команду ещё раз в более быстрой сети.
С Kilobat
Проверить, лимитная ли сеть, идёт ли трафик через VPN и не медленная ли она.
kilobat conditionsДиагностика подключения Kilobat проверяет хост уровень за уровнем: сеть, прокси, DNS, правила, IPv4, IPv6, TLS и сервер. Она называет уровень, на котором произошёл сбой.
kilobat why https://ghcr.io/v2/Не давать Mac уснуть, пока идёт установка.
kilobat awake -- brew upgradeЭти проверки Kilobat бесплатны. ИИ-агенты запускают их через MCP с помощью
diagnose_connectionиdiagnose_network. См. Почему не подключается один сайт или API.
Вопросы
Что такое ошибка curl 28?
Это CURLE_OPERATION_TIMEDOUT. В man-странице curl код выхода 28 указан как тайм-аут операции.
Источники
- curl: коды ошибок libcurl
- curl(1), раздел EXIT CODES, man-страница из macOS 27.2
- Документация Homebrew: man-страница, переменные окружения
- brew(1), HOMEBREW_CURL_RETRIES, man-страница, установленная с Homebrew
Источники проверены 29 октября 2026 г. Man-страницы — те, что установлены вместе с macOS; откройте любую командой man <name> в Терминале.