Debian服务器运行Node-RED官方安装脚本无法安装core报EAI_AGAIN错误
报错原因
返回的 Node-RED ERR! EAI_AGAIN 属于标准的DNS临时解析失败错误,触发原因是Node-RED安装脚本运行过程中需要拉取npm依赖包、Node.js运行时、核心组件文件等资源,服务器的DNS配置无法正常解析对应资源站点的域名,导致资源下载中断,核心组件安装失败。
排查解决步骤
- 首先验证服务器基础DNS功能是否正常
执行命令ping -c 3 baidu.com,如果返回「未知的主机」类提示,说明服务器本身DNS配置异常。可以编辑/etc/resolv.conf文件,添加公共DNS服务地址:
保存后执行nameserver 114.114.114.114 nameserver 8.8.8.8systemctl restart systemd-resolved(Debian 10及以上版本适用),再次执行ping测试验证DNS解析恢复正常。 - 验证安装依赖的专属域名解析状态
分别执行以下命令,检查安装所需的资源站点是否能正常解析:
如果某一个域名解析失败,可以临时在nslookup registry.npmjs.org nslookup deb.nodesource.com nslookup raw.githubusercontent.com/etc/hosts文件中添加该域名对应的可用IP映射,或者更换为国内公共DNS后重试。 - 替换国内镜像源执行安装
如果DNS解析正常但仍然触发该报错,一般是境外资源站点访问延迟过高导致的解析超时,可以在运行安装脚本时指定国内npm镜像源,命令如下:
如果连bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) --npm-registry https://registry.npmmirror.comraw.githubusercontent.com都无法访问,可以将脚本内容手动复制到本地保存为install-nodered.sh,执行chmod +x install-nodered.sh赋予执行权限后,再加上镜像源参数运行即可。 - 验证安装结果
安装完成后执行node-red -v,如果正常返回版本号说明核心组件安装成功,执行systemctl start nodered即可启动服务。
内容的提问来源于stack exchange,提问作者doej1367
相关产品推荐
相关产品推荐

