You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Admin连接Auth Emulator报ECONNREFUSED错误问题

问题根因

这个报错是Node.js 17+版本的默认DNS解析逻辑变更导致的:Node 17开始不再默认优先解析IPv4地址,会按系统DNS返回的顺序优先把localhost解析为IPv6回环地址::1,但Firebase Auth Emulator默认只绑定IPv4的127.0.0.1:9099,没有监听IPv6的9099端口,Admin SDK发请求时自然会被拒绝。
你能正常访问4000端口的Emulator控制台、iPhone模拟器能连通Auth Emulator,是因为这些客户端要么默认优先走IPv4解析,要么做了双栈兼容,和Node 17+的默认解析逻辑不匹配,所以只有Admin SDK出问题。

解决方案

选任意一种操作即可修复:

  • 直接修改环境变量配置,不用localhost,写死IPv4回环地址绕开DNS解析,这是改动最小的方案:
    export FIREBASE_AUTH_EMULATOR_HOST="127.0.0.1:9099"
    
    改完重新执行脚本就能正常拉取用户列表。
  • 如果不想改环境变量,启动Node脚本时加参数强制优先解析IPv4:
    node --dns-result-order=ipv4first 你的脚本文件名.js
    
  • 如果需要兼容IPv6访问场景,修改firebase.json里的模拟器配置,指定Auth Emulator绑定到所有网卡地址,同时监听IPv4和IPv6:
    "emulators": {
      "auth": {
        "host": "0.0.0.0",
        "port": 9099
      },
      // 其余模拟器配置保持不变
    }
    
    改完重启Firebase Emulator即可生效。

内容的提问来源于stack exchange,提问作者kernelman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 05:18:18