---
title: "Homebrew curl: (28) — тайм-аут на Mac: как исправить загрузку · Руководства Kilobat"
url: "https://kilobat.app/ru/guides/homebrew-curl-28-timed-out.html"
description: "brew install или brew update на Mac останавливается с ошибкой curl: (28). Выясните, почему загрузка превысила время ожидания, и задайте повторы, прокси или зеркало."
---

Сообщения об ошибках

# Homebrew падает с “curl: (28)” на Mac

Homebrew скачивает файлы с помощью curl. Код выхода curl 28 — это тайм-аут. В документации curl сказано: «The specified time-out period was reached» (истекло заданное время ожидания).

Применимость: актуальный Homebrew во всех актуальных версиях macOS. · Проверено: 29 октября 2026 г.

## Симптомы

- `brew install` останавливается с `curl: (28)`, а затем сообщает, что время истекло.
- Homebrew сообщает, что не смог скачать ресурс.
- Загрузка не удаётся в медленной сети, через VPN или в корпоративной сети.

## Вероятные причины

- **Медленное подключение или подключение с потерями.** Большие bottle-пакеты не успевают скачаться по слабому Wi-Fi или через точку доступа.
- **Прокси, который curl не использует.** Homebrew использует `http_proxy`, `https_proxy` и `all_proxy`.
- **Брандмауэр, который отбрасывает трафик.** Если сеть отбрасывает подключения к серверу загрузки, возникает тайм-аут.
- **Неработающий путь IPv6.** У сервера загрузки есть адрес IPv6, а IPv6 не работает.

## Как проверить

1. Пусть Homebrew проверит вашу систему.

   ```
   brew doctor
   ```
2. Проверьте сервер загрузки через curl только по IPv4.

   ```
   curl -4 -I https://ghcr.io/v2/
   ```
3. Покажите переменные прокси.

   ```
   env | grep -i proxy
   ```
4. Измерьте подключение.

   ```
   networkQuality
   ```

## Как исправить

1. Пусть Homebrew делает больше попыток. По умолчанию — 3 повтора.

   ```
   export HOMEBREW_CURL_RETRIES=5
   ```
2. Если в сети нужен прокси, задайте его в той же оболочке.

   ```
   export https_proxy=http://proxy.example.com:8080
   ```
3. Если у вашей компании есть зеркало, задайте `HOMEBREW_BOTTLE_DOMAIN` и `HOMEBREW_API_DOMAIN`.
4. По возможности выполните команду ещё раз в более быстрой сети.

## С Kilobat

1. Проверить, лимитная ли сеть, идёт ли трафик через VPN и не медленная ли она.

   ```
   kilobat conditions
   ```
2. Диагностика подключения Kilobat проверяет хост уровень за уровнем: сеть, прокси, DNS, правила, IPv4, IPv6, TLS и сервер. Она называет уровень, на котором произошёл сбой.

   ```
   kilobat why https://ghcr.io/v2/
   ```
3. Не давать Mac уснуть, пока идёт установка.

   ```
   kilobat awake -- brew upgrade
   ```
4. Эти проверки Kilobat бесплатны. ИИ-агенты запускают их через MCP с помощью `diagnose_connection` и `diagnose_network`. См. [Почему не подключается один сайт или API](https://kilobat.app/ru/guides/recipes/why-cant-it-connect.html).

## Вопросы

**Что такое ошибка curl 28?**

Это `CURLE_OPERATION_TIMEDOUT`. В man-странице curl код выхода 28 указан как тайм-аут операции.

## Источники

- [curl: коды ошибок libcurl](https://curl.se/libcurl/c/libcurl-errors.html)
- curl(1), раздел EXIT CODES, man-страница из macOS 27.2
- [Документация Homebrew: man-страница, переменные окружения](https://docs.brew.sh/Manpage)
- brew(1), HOMEBREW_CURL_RETRIES, man-страница, установленная с Homebrew

Источники проверены 29 октября 2026 г. Man-страницы — те, что установлены вместе с macOS; откройте любую командой `man <name>` в Терминале.

## Похожие руководства

- [Загрузки Homebrew или npm не проходят на Mac](https://kilobat.app/ru/guides/homebrew-npm-download-fails.html): Homebrew скачивает файлы с помощью curl и Git.
- [“curl: (6) Could not resolve host” на Mac](https://kilobat.app/ru/guides/curl-could-not-resolve-host.html): Код выхода curl 6 означает, что curl не смог получить адрес для имени хоста.
- [Проверка сети перед большой загрузкой в агенте](https://kilobat.app/ru/guides/recipes/check-network-before-download.html): Агент может спросить Kilobat, подходящее ли сейчас время для большой передачи данных.
- [Настройки прокси мешают приложениям подключаться на Mac](https://kilobat.app/ru/guides/proxy-settings-breaking-apps.html): Настройка прокси отправляет трафик через другой сервер.
