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

Firebase Emulator UI提示模拟器断开 启动60秒后报端口超时错误

故障根因

问题由本地localhost域名的IPv6/IPv4解析优先级冲突导致,核心证据来自ui-debug.log的报错记录:connect ECONNREFUSED ::1:4400。

  • Firebase模拟器的内部hub控制端口(默认4400)默认绑定在IPv4环回地址127.0.0.1
  • 模拟器UI进程发起内部通信请求时,将localhost解析为IPv6环回地址::1,对应端口无服务监听,触发连接拒绝
  • 能手动打开4000端口页面、能正常访问9001端口的hosting服务,是因为浏览器访问时自动回退到了IPv4地址;但UI进程与模拟器核心的内部通信、CLI的端口就绪检测没有做这个回退,因此会出现页面提示模拟器断开、等待60秒后报端口超时终止进程的现象,终止前输出的SIGINT信号提示是CLI主动退出UI进程的正常日志,不是额外故障。
修复方案

按优先级依次尝试:

  • 强制localhost解析到IPv4地址
    打开系统hosts文件(macOS/Linux路径为/etc/hosts,Windows路径为C:\Windows\System32\drivers\etc\hosts),确保存在如下配置,同时删除所有将localhost指向::1的规则:
    127.0.0.1 localhost
    
    保存后刷新系统DNS缓存,重新执行启动命令即可。
  • 启动时显式指定服务绑定IPv4地址
    给启动命令加--host参数,强制所有模拟器服务绑定到IPv4地址:
    firebase emulators:start --host 127.0.0.1
    
    如果需要局域网内其他设备访问模拟器,可将参数值改为0.0.0.0,访问时直接用127.0.0.1:4000代替localhost:4000打开UI,即可避免解析异常。
  • 对齐Node版本消除兼容问题
    启动日志提示项目要求Node 16版本,当前全局使用Node 18,版本不匹配可能偶发DNS解析逻辑异常,可通过版本管理工具切换到Node 16后再启动:
    nvm use 16
    firebase emulators:start
    
其他配置建议

当前启动日志里还有两个非致命但建议修复的配置问题:

  • 未在firebase.json中指定Cloud Firestore规则文件,模拟器默认允许所有读写操作,测试时的行为会和生产环境不一致,建议补全安全规则路径配置
  • 未启动auth、database、pubsub、storage模拟器,如果云函数代码中调用了这些服务,当前配置下请求会直接发送到线上生产环境,操作时注意避免误修改线上数据

Emulator UI断开提示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:06:28