Node.js events.js: 163 throw er;使用标志 --runInBand 执行 Jest 时
Posted
技术标签:
【中文标题】Node.js events.js: 163 throw er;使用标志 --runInBand 执行 Jest 时【英文标题】:Node.js events.js: 163 throw er; when executing Jest with flag --runInBand 【发布时间】:2017-05-17 09:50:56 【问题描述】:在我们的package.json
中,我们将--runInBand flag 添加到脚本测试中,以便speed up travis 测试。我们团队中有 5 个人,他们都没有问题,但每次运行脚本时都会出现此错误。看起来是这样的:
events.js:163
throw er; // Unhandled 'error' event
^
Error: connect EHOSTDOWN 169.254.169.254:80 - Local (192.168.8.46:63717)
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at internalConnect (net.js:889:16)
at lookupAndConnect (net.js:977:5)
at Socket.realConnect (net.js:945:5)
at Agent.connect [as createConnection] (net.js:77:22)
at Agent.createSocket (_http_agent.js:195:26)
at Agent.addRequest (_http_agent.js:157:10)
at new ClientRequest (_http_client.js:212:16)
at Object.request (http.js:26:10)
脚本:
"test": "export APP_ENV=development && jest --no-cache --runInBand --forceExit",
如果我删除此标志,我不会收到此错误。不知道是不是和 Jest、Node、Travis 等有关,但是我一直在寻找解决它很长时间,我没有更多的想法。
我的版本是:
节点:v7.10.0
笑话:v19.0.2
操作系统:macOS Sierra 10.12.4
提前致谢。
【问题讨论】:
【参考方案1】:您与 169.254.169.254:80 的套接字连接似乎有问题
您能否检查您的开发环境 (MacOS) 以便进行套接字连接?
我不是 Mac 大师,但 EHOSTDOWN 意味着你可以到达主机但不能进行套接字连接。
【讨论】:
您好,感谢您的回复。如何检查我的 mac 是否可以进行套接字连接?谢谢【参考方案2】:它似乎与节点 v7.10 相关。我已经降级到 v7.9 并且工作正常。
Node 团队是 working on it,它将是下一个 v7.x 版本(可能会在下周发布)。
【讨论】:
以上是关于Node.js events.js: 163 throw er;使用标志 --runInBand 执行 Jest 时的主要内容,如果未能解决你的问题,请参考以下文章
Node.js 错误:Elastic Beanstalk 主机上的 EADDRINUSE
在 node.js 中编写 ECONNRESET 错误和套接字连接检查