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

«npm error code ETIMEDOUT» на Mac

ETIMEDOUT означает, что другая сторона не ответила вовремя. В документации Node.js сказано, что подключённая сторона не ответила должным образом за отведённое время («the connected party did not properly respond after a period of time»).

Применимо к: npm 10 и новее выводит «npm error», более старые версии — «npm ERR!». Все актуальные версии macOS.Проверено: 29 октября 2026 г.

Симптомы

  • npm install завершается с npm error code ETIMEDOUT.
  • npm добавляет, что проблема связана с сетевым подключением.
  • Сбой происходит в одной сети, например в корпоративной или на точке доступа.

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

  • Прокси, о котором npm не знает. В сети, где нужен прокси, npm нужны настройки proxy и https-proxy.
  • Недоступный реестр. Старая настройка registry может указывать на частный сервер.
  • Медленное подключение или подключение с потерями. Большие пакеты не успевают загрузиться через слабый Wi-Fi или точку доступа.
  • Неработающий путь IPv6. У реестра есть IPv6-адрес, а IPv6 в вашей сети не работает.

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

  1. Покажите настройки реестра и прокси npm.

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

    npm ping
  3. Проверьте реестр с помощью curl, только по IPv4.

    curl -4 -I https://registry.npmjs.org/
  4. Измерьте подключение.

    networkQuality

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

  1. Если в сети нужен прокси, задайте его для npm.

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

    npm config delete registry
  3. На медленном подключении дайте npm больше повторных попыток.

    npm config set fetch-retries 5
  4. По возможности повторите установку в более быстрой сети.

С Kilobat

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

    kilobat why https://registry.npmjs.org/
  2. Перед большой установкой проверьте, не лимитная ли сеть, не включён ли VPN и не медленное ли подключение.

    kilobat conditions
  3. Эти проверки Kilobat бесплатны. ИИ-агенты запускают их через MCP с помощью diagnose_connection и diagnose_network. См. Почему не подключается один сайт или API.

Вопросы

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

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

Источники

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