Ошибка: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443
Я работаю над корпоративной сетью.
Попытка установить npm.
Но я получаю эту ошибку снова и снова.
$ npm install
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! node v6.1.0
npm ERR! npm v3.8.6
npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! syscall getaddrinfo
npm ERR! network getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! Please include the following file with any support request:
npm ERR! C:\Angular-test\angular-phonecat\npm-debug.log
Пробовал это также: npm config set registry https://registry.npmjs.org/
По-прежнему возникает ошибка.
Ответы
Ответ 1
Что нужно попробовать:
- убедитесь, что у вас есть подключение к Интернету:
ping 8.8.8.8
- убедитесь, что у вас работает DNS-преобразователь:
ping www.google.com
- убедитесь, что вы можете получить доступ к registry.npmjs.org:
ping registry.npmjs.org
- убедитесь, что вы можете подключиться через https.
Попробуйте в своем браузере: https://registry.npmjs.org/
Убедитесь, что вы пытаетесь подключиться к:
а не:
-
"registry.npmjs.org registry.npmjs.org:443"
или какая-то другая странная строка, состоящая из нескольких имен хостов, потому что странно, что резольвер жалуется на имена хостов, которые включают номер порта, на который он не должен заботиться. Хорошо, я тестировал и должен выглядеть так, чтобы хосты не были найдены.
Update
Из вашего комментария к этому ответу кажется, что вы не напрямую связаны с Интернетом, если вы не можете даже пинговать 8.8.8.8.
Если вы используете прокси для доступа к Интернету, вам также нужно настроить npm
, чтобы использовать его. Использование:
npm config set proxy http://example.com:8080
npm config set https-proxy http://example.com:8080
но вместо http://example.com:8080
используйте то, что вам действительно нужно в вашей компании, - спросите кого-нибудь или посмотрите, как настроен ваш браузер.
Чтобы просмотреть конфигурацию прокси-сервера в Chrome, см. this.
Обновление 2
Если вы можете получить https://registry.npmjs.org/ в своем браузере, но вы не можете запуститься ping registry.npmjs.org
, то это означает, что ваш браузер должен быть настроен на использование прокси-сервера или других программ, чем ваш браузер должен быть ограничен из-за использования Интернета.
В любом случае, вы должны попросить кого-нибудь из вашей компании об этом, потому что, скорее всего, вам нужно либо использовать определенный прокси, либо кто-то должен снять ограничение с вашего npm
и разрешить ему получать доступ к сети.
Доступ к сети может быть заблокирован брандмауэром, установленным на вашем компьютере или маршрутизатором в вашей сети. Трудно сказать, не зная конкретной конфигурации в вашей компании.
Ответ 2
Сначала отредактируйте файл NetworkManager.conf:
vim /etc/NetworkManager/NetworkManager.conf
Прокомментируйте эту строку:
#dns=dnsmasq
Наконец
sudo service network-manager restart
sudo service docker restart
Ответ 3
используйте: https://registry.npmjs.org/ Убедитесь, что вы пытаетесь подключиться к:
registry.npmjs.org
если ошибки нет, попробуйте очистить кеш
очистка кеша npm --force, затем попробуйте установить npm
даже у вас есть ошибки
Конфигурация набора настроек npm https://registry.npmjs.org/, затем попробуйте установить npm -g @angular/cli
Ответ 4
Как я думаю, если система подключена к Интернету, это может быть проблемой proxy
Сделайте это, чтобы удалить proxy
npm config delete proxy
Ответ 5
Вы можете использовать эту команду
npm config delete proxy
Это происходит потому, что formidable
подвержен серьезности уязвимости. Итак, вам нужно переопределить это, выполнив приведенную выше команду.
Ответ 6
Я пробовал много, но это работало хорошо для меня.
npm config rm proxy
npm config rm https-proxy
выше 2 команд достаточно, если это не работает, попробуйте это тоже.
npm config --global rm proxy
npm config --global rm https-proxy
Ответ 7
Если Ubuntu попытается открыть
Все настройки > Сеть > Сетевой прокси
установите метод для автоматического и сохранения.
Ответ 8
Я была такая же проблема. Причиной была проблема корпоративного прокси. Решением было установить настройку прокси, как говорит @rsp.
npm config set proxy http://example.com:8080
npm config set https-proxy http://example.com:8080
Но позже я сталкиваюсь с той же проблемой. На этот раз причина в том, что мой пароль содержит специальный символ.
В этой команде вы не можете ввести пароль со специальным символом
Таким образом, решение заключается в том, чтобы ввести в пароле специальный символ в процентах.
Например, # должен предоставить как% 23
https://www.w3schools.com/tags/ref_urlencode.asp
Ответ 9
Я потратил более 5 часов, пытаясь избавиться от этого сообщения в Windows 8.1. Поэтому я хотел бы поделиться своим делом и сэкономить время. Я не был за прокси... но настройка прокси помогла решить проблему. Так что я углубился и обнаружил, что проблема была вызвана Comodo Firewall... который заблокировал cmd, так как я слишком быстро устанавливал пакеты (отключение и даже закрытие Firewall не помогло, что заставило меня так долго находить проблему... кажется как будто был какой-то другой процесс Firewall, работающий в фоновом режиме). У вас может быть такая же проблема с любым другим установленным брандмауэром/антивирусом, поэтому убедитесь, что cmd не заблокирован ими. Удачи!
Ответ 10
У меня установлена свежая Windows 10 на моем компьютере, и я попробовал это в командной строке, и она работает как чудо:
npm config rm https-proxy
Ответ 11
в моем случае это были просто периодически возникающие проблемы, кажется, они не работали в течение нескольких попыток, затем посмотрели на https://registry.npmjs.org (веб-страница работала нормально), попробовали еще раз, попробовали еще раз, а затем все заработало.
Ответ 12
Для Windows Подсистема Linux:
Перезапуск моего терминала WSL (bash/shell) устранил проблему (однако потребовалось несколько перезапусков и минут).
используйте nslookup www.google.com или npm.org для проверки подключения.
Ответ 13
Сначала вам нужно использовать эту команду
Конфигурация npm устанавливает реестр https://registry.your-registry.npme.io/
Это делается для того, чтобы регистр предприятий нашей компании стал регистром по умолчанию.
Вы можете попробовать и другие данные решения.