我的服务器今天扔了这个,这是我以前从未见过的nodejs错误。
Error: getaddrinfo EAI_AGAIN my-store.myshopify.com:443
at Object.exports._errnoException (util.js:870:11)
at errnoException (dns.js:32:15)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:26)
我想知道这是否与今天影响Shopify和许多其他服务的DynDns DDOS攻击有关。 Here's an article about that.
我的主要问题是dns.js
做了什么?节点的哪个部分是它的一部分?我可以使用其他域重新创建此错误吗?
答案 0 :(得分:68)
EAI_AGAIN是DNS查找超时错误,表示它是网络连接错误或代理相关错误。
我的主要问题是dns.js做了什么?
更多信息: http://www.codingdefined.com/2015/06/nodejs-error-errno-eaiagain.html
答案 1 :(得分:7)
如果您在Docker容器内收到此错误,例如在高山容器中运行npm install
时,原因可能是自容器启动以来网络已更改。
要解决此问题,只需停止并重新启动容器
docker-compose down
docker-compose up
来源:https://github.com/moby/moby/issues/32106#issuecomment-578725551
答案 2 :(得分:1)
OP的错误指定了主机(my-store.myshopify.com
)。
除了未指定域外,我在所有方面遇到的错误都是相同的。
我的解决方案可能会帮助标题为“错误:getaddrinfo EAI_AGAIN”的其他人
当尝试从原始代码所在的另一台VM服务NodeJs和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,
},
};
...解决了问题。
答案 3 :(得分:1)
在对我在Docker容器内操作的GraphQL API应用程序进行了微不足道的更新后,我开始遇到此错误(尽管堆栈跟踪不同)。无论出于何种原因,该容器都难以解决API使用的后端服务。
随便看看我在构建的docker基本映像中是否进行了一些更改(顺便说一句,节点:13-alpine),我决定尝试使用最古老的计算机科学技巧进行重新启动...启动Docker容器,一切恢复正常。
很显然,这并不是解决潜在问题的有意义的解决方案-我只是发布它,因为它确实为我解决了这个问题,而又没有深深地陷入困境。
答案 4 :(得分:1)
如xerq's excellent answer所述,这是DNS超时问题。
我想为使用 Linux的Windows子系统的用户提供另一个可能的答案-在某些情况下,Windows从睡眠状态恢复后,客户端操作系统中似乎会出现歪斜的现象。重新启动主机操作系统将解决这些问题(重新启动WSL服务也可能会这样做)。
答案 5 :(得分:0)
@xerq正确指出,这里有一些参考 http://www.codingdefined.com/2015/06/nodejs-error-errno-eaiagain.html
我得到了同样的错误,我通过更新windows os
中此位置下的“hosts”文件解决了这个问题C:\ Windows \ System32下\驱动程序\等
希望它有所帮助!!
答案 6 :(得分:0)
这是与主机文件设置有关的问题。 将以下行添加到您的热点文件中 在乌布图:/ etc / hosts
127.0.0.1 localhost
在Windows中:c:\ windows \ System32 \ drivers \ etc \ hosts
127.0.0.1 localhost
答案 7 :(得分:0)
我在AWS和Serverless上遇到了同样的问题。我尝试使用 // Calculate the length
$messageLength = strlen(strip_tags($message));
$numberOfMessages = ceil($messageLength/160);
// Loop through how many messages should be sent (160 character per sms limit)
for($i=0;$i<$numberOfMessages;$i++){
// Add Recipients
// Calculate the length
$messageLength = strlen(strip_tags($message));
$numberOfMessages = ceil($messageLength/160);
// Loop through how many messages should be sent (160 character per sms limit)
for($i=0;$i<$numberOfMessages;$i++){
// Add Recipients
for($j=0;$j<count($getPhoneListData->myQuery);$j++){
$phoneNumber1 = str_replace('-','',$getPhoneListData->myQuery[$j]->Phone) . '@vtext.com';
$phoneNumber2 = str_replace('-','',$getPhoneListData->myQuery[$j]->Phone) . '@txt.att.net';
$phoneNumber3 = str_replace('-','',$getPhoneListData->myQuery[$j]->Phone) . '@sms.myboostmobile.com';
$phoneNumber4 = str_replace('-','',$getPhoneListData->myQuery[$j]->Phone) . '@mms.cricketwireless.net';
$phoneNumber5 = str_replace('-','',$getPhoneListData->myQuery[$j]->Phone) . '@messaging.sprintpcs.com';
$phoneNumber6 = str_replace('-','',$getPhoneListData->myQuery[$j]->Phone) . '@tmomail.net';
$mail->AddBCC(trim($phoneNumber1));
$mail->AddBCC(trim($phoneNumber2));
$mail->AddBCC(trim($phoneNumber3));
$mail->AddBCC(trim($phoneNumber4));
$mail->AddBCC(trim($phoneNumber5));
$mail->AddBCC(trim($phoneNumber6));
}
}
}
区域,但该区域无法正常工作,因此在示例中,我不得不将其更改为eu-central-1
。
答案 8 :(得分:0)
启用了Blaze,它仍然不起作用?
很可能您需要从正确的路径importances = pd.Series(forest.feature_importances_,index=X.columns)
importances = importances.sort_values()
importances[-30:].plot.barh()
won't work(或其他任何路径)中设置.env
。只需将require('dotenv').config({ path: __dirname + './../.env' });
文件放在.env
目录中,即可从其中部署到functions
。
答案 9 :(得分:0)
就我而言,问题是 docker 网络 ip 分配范围,请参阅 this post 了解详情
答案 10 :(得分:-4)
如果您都不在本地主机上获得该产品,则意味着由于免费套餐的限制,您必须升级您的计划
答案 11 :(得分:-6)
将npm更新为最新修复了这个问题。
npm install npm@latest
此问题与您的网络连接有关。因此可以是暂时的。在稳定的互联网连接上,这个问题很难被发现。