nodejs не может разрешить "localhost" в windows
следующий код создает исключение в узле.js под windows:
var Socket = require("net").Socket;
socket = new Socket();
socket.connect(80, "localhost");
вот сообщение:
events.js:2083: Uncaught Error: getHostByName ENOTFOUND
когда я удалить localhost
, он работает нормально. Что могло быть причиной этого?
Я попытался отключить брандмауэр, но безрезультатно.
3 ответов
узел.js использует C-Ares resolver и полностью игнорирует системный резольвер. Так что советы относительно C:\WINDOWS\system32\drivers\etc\hosts вероятно, не имеют значения.
библиотека c-ares читает определенные файлы конфигурации системы-например, в Windows и Cygwin она читает /etc / resolv.conf. Поэтому вы должны проверить, читает ли он /etc / hosts или C:\WINDOWS\system32\drivers\etc\hosts - ... Если у него нет и нет встроенной поддержки localhost-тогда вам придется использовать 127.0.0.1
в моем случае добавление Microsoft Loopback Adaptor исправило эту проблему.
- щелкните шар меню Пуск. В поле поиска введите hdwwiz и нажмите кнопку hdwwize.ссылка на программу exe.
- Теперь мастер добавления оборудования должен быть открыт.
- прокрутите список вниз и выберите Сетевые адаптеры, затем нажмите кнопку Далее.
- дайте следующему окну время для загрузки, а затем нажмите Microsoft и выберите Microsoft Loopback Adapter.
от: http://www.groovypost.com/howto/microsoft/install-a-loopback-adapter-in-windows-7/
Вариант 1: Не используйте windows;)
2: в C:\WINDOWS\system32\drivers\etc\hostsдобавить :
127.0.0.1 localhost