Не удается установить пакет через npm install.

Вопрос или проблема

Ошибка вывода

npm ERR! код EAI_AGAIN
npm ERR! номер EAI_AGAIN
npm ERR! запрос к https://registry.npmjs.org/cordova не удался, причина: getaddrinfo EAI_AGAIN registry.npmjs.org:443

npm ERR! код EAI_AGAIN
npm ERR! номер EAI_AGAIN
npm ERR! запрос к https://registry.npmjs.org/cordova не удался, причина: getaddrinfo EAI_AGAIN registry.npmjs.org:443

Он завис надолго и выдает вышеуказанную ошибку.

система не за прокси-сервером.
версия ОС ubuntu 16.04.3 lts
версия node 8.11.3
версия npm 5.6.0

Когда я ввожу npm -v, появляется другая ошибка npm проверка обновления не удалась.

основное описание ошибки

Обновите вашу версию npm.

  1. sudo npm cache clean -f
  2. sudo npm install -g n
  3. sudo n stable
  4. npm -v должно выводить 6.4.0.

В качестве альтернативы вы можете просто ввести sudo npm install npm@latest -g в терминале

(Примечание: это обновит до последней стабильной версии)

Посетите эту ссылку для получения дополнительной информации.

Ответ или решение

При установке пакета через команду npm install вы столкнулись с ошибкой, связанной с сетевым соединением, а именно:

npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/cordova failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443

Давайте подробно разберем причины возникновения данной проблемы и возможные способы ее решения.

Причины ошибки EAI_AGAIN

Ошибка EAI_AGAIN чаще всего указывает на временные проблемы с сетевым соединением. Это может быть связано с:

  1. Проблемами DNS-сервера: Возможно, ваш компьютер не может разрешить адрес registry.npmjs.org, что приводит к появлению этой ошибки.
  2. Сетевыми сбоями: Это может быть временный сбой со стороны вашего интернет-провайдера или ошибки в маршрутизации.
  3. Настройками файла hosts: Если файл hosts содержит неправильные значения, это может привести к проблемам с разрешением имен.
  4. Межсетевыми экранами или антивирусами: Программное обеспечение может блокировать доступ к репозиториям npm.

Шаги для устранения проблемы

1. Проверка сетевого соединения

  1. Пингование резервного DNS:
    Откройте терминал и выполните команду:

    ping 8.8.8.8

    Если пинг проходит, значит ваше интернет-соединение работает.

  2. Проверка разрешаемости имени:
    Используйте команду:

    nslookup registry.npmjs.org

    Это должно вернуть IP-адрес. Если нет, то вероятно проблема с DNS.

2. Изменение DNS-серверов

Попробуйте изменить DNS-сервер на более стабильные, например, на Google DNS:

  • Основной: 8.8.8.8
  • Вторичный: 8.8.4.4

Для изменения DNS на Ubuntu:

  1. Откройте файл /etc/resolv.conf с помощью редактора:
    sudo nano /etc/resolv.conf
  2. Добавьте следующие строки:
    nameserver 8.8.8.8
    nameserver 8.8.4.4
  3. Сохраните изменения и закройте редактор.

3. Очистка кэша и обновление npm

Устаревшая версия npm может вызывать проблемы. Для обновления npm выполните:

sudo npm cache clean -f
sudo npm install -g npm@latest

Или используйте следующий метод для обновления Node.js и npm:

  1. Установите n (менеджер версий Node.js):
    sudo npm install -g n
  2. Установите стабильную версию Node.js:
    sudo n stable
  3. Проверка версии npm:
    npm -v

4. Проверка файла hosts

Проверьте файл /etc/hosts, чтобы убедиться, что там нет неправильных записей, связанных с registry.npmjs.org.

5. Проверка межсетевых экранов и антивирусных программ

Если у вас установлено подобное ПО, временно отключите его и попробуйте снова выполнить установку пакета.

Заключение

Следуя указанным шагам, вы сможете устранить проблему с установкой пакета через npm. Если ошибка все еще сохраняется, возможно, стоит обратиться к вашему провайдеру или проверить, нет ли глобальных проблем с доступом к registry.npmjs.org.

Используя данные рекомендации, вы можете не только устранить текущую ошибку, но и предотвратить ее возможное повторение в будущем.

Оцените материал
Добавить комментарий

Капча загружается...