Firebase模拟器启动失败:端口异常及应用列表不显示求助
Firebase模拟器启动故障求助
问题现象
- 启动Firebase模拟器时,所有本地端口均显示已关闭
- 执行
firebase emulators:start命令时,提示192.168.1.25的9000端口无法打开,Database模拟器启动失败;Firestore模拟器因SIGINT信号退出 - 执行
firebase apps:list命令无任何应用显示 - 启动模拟器时
node.exe仅短暂占用端口后立即消失
已尝试的无效操作
- 杀死占用端口的进程
- 更换模拟器端口
- 重启电脑
- 重装Firebase CLI
- 重新配置Database与Firestore
相关截图说明
- 端口杀死操作无效截图
- 资源监视器端口状态截图
报错日志(中文翻译)
i 模拟器:启动模拟器:auth、functions、firestore、database、hosting、pubsub、storage functions:使用主机上的node@16版本。 i firestore:Firestore模拟器日志将写入firestore-debug.log i 模拟器:正在关闭模拟器。 i functions:停止Functions模拟器 i firestore:停止Firestore模拟器 ! Firestore模拟器收到SIGINT信号后退出 i hub:停止模拟器中心 ! database:192.168.1.25上的9000端口无法打开,无法启动Database模拟器。 ! database:如需选择不同的主机/端口,请在firebase.json配置文件中指定: { ... "emulators": { "database": { "host": "HOST", "port": "PORT" } } } }
解决方案建议
1. 强制绑定本地回环地址
修改项目根目录下的firebase.json,将所有模拟器的host设置为127.0.0.1(本地回环地址),避免局域网IP导致的网络权限问题:
{ "emulators": { "auth": { "host": "127.0.0.1", "port": 9099 }, "functions": { "host": "127.0.0.1", "port": 5001 }, "firestore": { "host": "127.0.0.1", "port": 8080 }, "database": { "host": "127.0.0.1", "port": 9000 }, "hosting": { "host": "127.0.0.1", "port": 5000 }, "pubsub": { "host": "127.0.0.1", "port": 8085 }, "storage": { "host": "127.0.0.1", "port": 9199 }, "hub": { "host": "127.0.0.1", "port": 4400 }, "ui": { "host": "127.0.0.1", "port": 4000 } } }
2. 排查防火墙与安全软件拦截
- 关闭系统防火墙,或手动添加所有Firebase模拟器端口的放行规则(涵盖9000、8080、5001等所有涉及端口)
- 暂时禁用第三方杀毒、安全软件,确认是否是软件拦截了端口访问
3. 重置Firebase本地配置
- 执行
firebase logout退出当前账号,再用firebase login重新登录 - 删除项目根目录下的
.firebase文件夹,重新执行firebase init emulators初始化模拟器配置
4. 检查Node.js版本兼容性
Firebase模拟器对Node.js版本有要求,建议切换到LTS版本(如v18或v20),可通过nvm快速切换:
nvm install 18 nvm use 18
5. 手动指定启动参数
启动模拟器时直接指定本地回环地址,跳过自动局域网IP检测:
firebase emulators:start --host 127.0.0.1
内容的提问来源于stack exchange,提问作者Johan
相关产品推荐
相关产品推荐

