Разработчикам

Загрузки Homebrew или npm не проходят на Mac

Homebrew скачивает файлы через curl и Git. npm скачивает из своего реестра. Каждый инструмент читает собственные настройки прокси и сертификатов.

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

Симптомы

  • brew install останавливается с «curl: (28) … timed out» или «Failed to download resource».
  • npm install останавливается с ETIMEDOUT, ECONNRESET или ошибкой сертификата.
  • Загрузка не удаётся только в корпоративной сети или через VPN.
  • Загрузка начинается, а затем останавливается на медленном подключении.

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

  • Прокси, о котором инструмент не знает. Homebrew использует http_proxy, https_proxy и all_proxy. npm использует свои настройки proxy и https-proxy или те же переменные.
  • Инспекция TLS. Корпоративный прокси подписывает трафик собственным сертификатом. См. Сертификаты корпоративного прокси ломают инструменты Терминала на Mac.
  • Неверный реестр npm. Старая настройка registry может указывать на сервер, который вам недоступен.
  • Медленное или лимитное подключение. Большие загрузки могут не успевать по слабому Wi-Fi или через точку доступа.

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

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

    brew doctor
  2. Покажите конфигурацию Homebrew и системы.

    brew config
  3. Покажите настройки реестра и прокси npm.

    npm config get registry
    npm config get proxy
    npm config get https-proxy
  4. Запросите ответ у реестра npm.

    npm ping
  5. Проверьте сервер загрузки напрямую через curl.

    curl -v -o /dev/null https://formulae.brew.sh/api/formula.json

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

  1. Для Homebrew за прокси задайте переменную прокси в той же оболочке.

    export https_proxy=http://proxy.example.com:8080
  2. Для npm за прокси задайте прокси npm.

    npm config set https-proxy http://proxy.example.com:8080
  3. Удалите старую настройку реестра npm, чтобы npm использовал реестр по умолчанию.

    npm config delete registry
  4. Пусть Homebrew делает больше попыток скачать файл.

    export HOMEBREW_CURL_RETRIES=5
  5. Если ваша компания использует зеркало, укажите его. Для зеркал Homebrew использует HOMEBREW_BOTTLE_DOMAIN и HOMEBREW_API_DOMAIN.

  6. При ошибках сертификата добавьте корневой сертификат компании. См. Сертификаты корпоративного прокси ломают инструменты Терминала на Mac.

С Kilobat

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

    kilobat conditions
  2. Найти уровень, на котором блокируется сервер загрузки. Добавьте --app, чтобы использовать переменные прокси этого процесса.

    kilobat why https://ghcr.io/v2/homebrew/core --app process:curl
  3. Не давать Mac уснуть, пока идёт установка.

    kilobat awake -- brew upgrade
  4. Эти команды бесплатны. См. Проверка сети перед большой загрузкой в агенте.

Вопросы

Использует ли Homebrew прокси из Системных настроек?

В документации Homebrew перечислены переменные прокси для curl, Git и Subversion. Задайте https_proxy в своей оболочке.

Сколько ждёт npm?

Согласно документации npm, по умолчанию fetch-timeout равен 300000 ms, то есть пяти минутам, а fetch-retries — 2.

Источники

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