Vic*_*ida 13 javascript firebase firebase-tools
我试图在本地提供Firebase功能,但是当我运行firebase serve或firebase emulators:start错误消息是:“端口5000未打开,无法启动功能模拟器时”。
我使用的是Windows 10,因此我尝试更改端口号,检查端口是否被防火墙阻止,并在防火墙中为端口5000-5010创建了新规则,但这些方法均不适用于我。
eri*_*579 61
在MacOS Monterey中,端口 5000 可能被新的“AirPlay 接收器”占用。可以在“设置”->“共享”中禁用此功能:
禁用 AirPlay 接收器(如果不需要)可释放端口 5000。
小智 28
对于 Mac/Linux,使用终端/外壳查找进程 ID (PID),然后终止进程。
sudo lsof -i :5000
sudo kill -9 PID
Run Code Online (Sandbox Code Playgroud)
Ven*_*tra 15
移植5000并7000通过 MacOS Monterey 上的播放进行拍摄。
按照此处的建议关闭 Airplay 接收器或
firebase.json使用不同的端口更新
"emulators": {
"hosting": {
"port": 5004
}
}
Run Code Online (Sandbox Code Playgroud)
Man*_*uel 12
对于 Windows 用户:
netstat -ano|findstr "PID :5000"
Run Code Online (Sandbox Code Playgroud)
然后在行尾找到进程 ID (PID)。
taskkill /pid FOUNDPID /F
Run Code Online (Sandbox Code Playgroud)
命令taskkill在 VS Code 上下文的终端内不起作用。它需要一个(提升的)CMD-prompt 或等效的 Powershell 环境才能成功终止对 127.0.0.1:5000 的侦听。
小智 11
这里的问题是您的端口号 5000 正在运行某个进程。因此,首先,您需要终止该进程。
在ubuntu中查找进程ID
须藤 lsof -i :5000
假设 PID 你得到 14541
杀死进程
须藤杀-9 14541
最近在官方的github仓库中报告了一个类似的问题:https : //github.com/firebase/firebase-tools/issues/1606。
如您所见,这是由依赖项(节点端口查找器)中的错误引起的。https://github.com/http-party/node-portfinder/pull/86
一个快速的编辑方法是使用旧版本的节点端口查找器(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 })。
编辑:如Mladen Skrbic所建议,为了找到该firebase-tools文件夹,您应该运行npm root -g并firebase-tools在其中找到该文件夹。
这应该可以解决问题!
而不是最新的 firebase-functions(当前是 3.2.0),强制它保持在 3.0.2 在我的例子中解决了。
"dependencies": {
"firebase-admin": "^8.2.0",
"firebase-functions": "3.0.2",
...
}
Run Code Online (Sandbox Code Playgroud)
(我还使用 firebase-tools 版本 7.0.2 atm,没有检查最新版本。如果它不起作用,请尝试将 firebase-tools 恢复到 7.0.2)
| 归档时间: |
|
| 查看次数: |
1432 次 |
| 最近记录: |