【问题标题】:Node.js/ webpack/ getaddrinfo looking for internet when not needed, why?Node.js/webpack/getaddrinfo 在不需要的时候寻找互联网,为什么?
【发布时间】:2018-05-07 18:15:09
【问题描述】:

我遇到了一台本应能够脱机运行的机器的问题。

我可以在我的应用程序运行后拉电缆,但在拔下启动期间我收到以下错误:

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 时搜索有很多信息,人们会遇到类似的错误,但这不是我正在做的。我应该已经在机器上拥有我需要的一切。

【问题讨论】:

    标签: npm webpack getaddrinfo


    【解决方案1】:

    显然这是发球的问题。

    Serve >6.5.3 显然存在尝试联系注册表的问题。将服务降级到 6.5.3 解决了这个特定问题。

    这记录在https://github.com/zeit/serve/issues/348

    不确定为什么 serve 需要联系注册表。

    【讨论】:

      【解决方案2】:

      noafterglow是对的,不过仅供参考,回滚到6.5.3版本的serve可以用

      npm install -g serve@6.5.3
      

      来源:this post

      【讨论】:

        【解决方案3】:

        我在尝试从与最初开发代码的不同 VM 提供 VueJs 应用程序时遇到了这个错误。

        文件vue.config.js读取:

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

        在原始机器上提供服务时,启动输出为:

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

        在 VM 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,
           },
         };
        

        ...解决了问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-05-20
          • 1970-01-01
          • 1970-01-01
          • 2012-09-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-05-23
          相关资源
          最近更新 更多