Node.js / webpack / getaddrinfo ищет интернет, когда он не нужен, почему? - PullRequest
0 голосов
/ 07 мая 2018

У меня проблема с машиной, которая должна работать автономно.

Я могу вытащить кабель после запуска приложения, но при отключенном запуске я получаю следующую ошибку:

May  6 23:04:50 myco serve[4121]: (node:4121) UnhandledPromiseRejectionWarning: Error: getaddrinfo EAI_AGAIN registry.npmjs.org:443
May  6 23:04:50 myco serve[4121]:     at Object._errnoException (util.js:1022:11)
May  6 23:04:50 myco serve[4121]:     at errnoException (dns.js:55:15)
May  6 23:04:50 myco serve[4121]:     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)
May  6 23:04:50 myco serve[4121]: (node:4121) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
May  6 23:04:50 myco serve[4121]: (node:4121) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Похоже, что dns.js является частью webpack / node-libs-browser, но это, насколько я могу судить, кажется ... Я не могу найти GetAddrInfoReqWrap нигде в моем исходном дереве, или getaddrinfo для этого иметь значение. В поисках много информации о людях, которые получают подобные ошибки, когда намеренно пытаются использовать npm, но это не то, что я делаю. У меня должно быть все, что мне нужно, уже на машине.

Ответы [ 3 ]

0 голосов
/ 10 мая 2018

noafterglow прав, но просто для справки, откат к версии 6.5.3 подачи может быть выполнен с помощью

npm install -g serve@6.5.3

Источник: этот пост

0 голосов
/ 07 ноября 2018

Я столкнулся именно с этой ошибкой, когда пытался обслуживать приложение VueJs с другой виртуальной машины, с которой изначально разрабатывался код.

Файл vue.config.js читается:

 module.exports = {
   devServer: {
     host: 'tstvm01',
     port: 3030,
   },
 };

При подаче на оригинальную машину начальный вывод:

App running at:
- Local:   http://tstvm01:3030/ 
- Network: http://tstvm01:3030/

Использование тех же настроек на виртуальной машине tstvm07 привело меня к ошибке, очень похожей на ту, которую описывает OP:

 INFO  Starting development server...
 10% building modules 1/1 modules 0 activeevents.js:183                              
      throw er; // Unhandled 'error' event
      ^

Error: getaddrinfo EAI_AGAIN
    at Object._errnoException (util.js:1022:11)
    at errnoException (dns.js:55:15)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)

Если это еще не очевидно, измените vue.config.js на чтение ...

 module.exports = {
   devServer: {
     host: 'tstvm07',
     port: 3030,
   },
 };

... решил проблему.

0 голосов
/ 08 мая 2018

Видимо, это проблема с подачей.

Обслуживание> 6.5.3, очевидно, имеет проблему, когда он пытается связаться с реестром. Понижение подачи до 6.5.3 решает эту конкретную проблему.

это задокументировано в https://github.com/zeit/serve/issues/348

не знаю, зачем нужно обращаться в реестр.

...