【问题标题】:Error: Port 5000 is not open, could not start functions emulator错误:端口 5000 未打开,无法启动功能模拟器
【发布时间】:2019-12-30 04:43:34
【问题描述】:
【问题讨论】:
标签:
firebase
google-cloud-functions
firebase-tools
【解决方案1】:
这个错误似乎不在你的尽头
这是由依赖项(节点端口查找器)中的错误引起的。
编辑它的快速修复可能是使用旧版本的节点端口查找器(v 1.0.21)。或者,您可以通过编辑 node_modules/firebase-tools/lib/emulator/controller.js 并将 yield pf.getPortPromise({ port, stopPort: port }) 更改为 yield pf.getPortPromise({ port, stopPort: port + 1 })。
您可以在this SO 链接中查看您的问题的完整答案。
【解决方案2】:
从您的终端运行lsof -t -i tcp:5000 | xargs kill。
当 Firebase 模拟器未完全关闭(例如,关闭在嵌入式终端会话中运行模拟器的 IDE)时,会发生此错误的常见原因。这将使进程在后台运行并占用模拟器的默认端口.
要解决冲突,请从终端命令行中找到在端口(此处为 5000)上运行的进程 ID,然后将其终止。
上面的单行查找进程 ID 并将其直接通过管道传递给 kill (h/t @manav)。
如需更多信息,请查看:Find (and kill) process locking port 3000 on Mac