firebase 服务:supervisorPort (5001) 已在使用中
firebase serve: supervisorPort (5001) is already in use
我构建了这个 React App,允许用户添加待办事项,并将项目标记为 completed/active。 Todo 项存储在 Cloud firestore 中。
我想在应用程序上启用全文搜索,一种方法是创建一个云函数,每当云 firestore 见证创建操作时,它就会将索引写入 Algolia。
在我的应用程序根目录中,我 initialize cloud functions and then implement the onTodoAdded function。完成后,我在 functions
目录下 运行 firebase serve
并得到错误:
=== Serving from '/Users/evan/source/react-redux-todos'...
i functions: Preparing to emulate functions.
Warning: You're using Node.js v10.6.0 but Google Cloud Functions only supports v6.11.5.
i hosting: Serving hosting files from: build
✔ hosting: Local server: http://localhost:5000
error: SUPERVISOR error Error: listen EADDRINUSE 127.0.0.1:5001
at Server.setupListenHandle [as _listen2] (net.js:1335:14)
at listenInCluster (net.js:1383:12)
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1509:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:61:10)
error: supervisorPort (5001) is already in use
i functions: No HTTPS functions found. Use firebase functions:shell if you would like to emulate other types of functions.
要获得完整的调试日志,请查找 here。
然而,这个命令工作正常:firebase serve --only functions
。
=== Serving from '/Users/evan/source/react-redux-todos'...
i functions: Preparing to emulate functions.
Warning: You're using Node.js v10.6.0 but Google Cloud Functions only supports v6.11.5.
i functions: No HTTPS functions found. Use firebase functions:shell if you would like to emulate other types of functions.
因为它说 supervisorPort(5001) 已经在使用中,所以我 lsof -i:5001
没有找到进程。我也关闭我的笔记本电脑并重新启动,得到同样的错误。
我发现了类似的问题 here,但是没有找到解决方案。
我仍然不知道原因,但是添加--port=9000
解决了问题。例如,firebase serve --only functions --port=9000
。归功于 restPort (5001) is already in use #142.
我在更新到 macOS Mojave 10.14.1(适用于 10.14)后遇到了同样的错误。 error: supervisorPort (5001) is already in use
它让我陷入了额外的更新和配置这个兔子洞,最终让它发挥作用。
1 更新节点包
我将这些项目更新为这些版本(截至撰写本文时为最新版本)
- firebase 函数:2.1.0
- 火力基地:5.5.8
我删除了 node_modules 文件夹并重新安装了所有软件包。
2 需要 Firestore 模拟器设置
下次我尝试服务时,firebase 给了我这个错误:
Setup required, please run: firebase setup:emulators:firestore
由于我最初使用 mac 时遇到的奇怪权限问题,我实际上不得不 运行
node_modules/.bin/firebase setup:emulators:firestore
3 然后....修复 Java 运行时问题
在我的下一次发球尝试中,我看到 firestore: No Java runtime present, requesting install.
Mac 弹出一个页面,您可以在其中 "download java for mac"。这不是你真正需要的。您确实需要启用命令行界面的 Java SE Development Kit 。
那么...您下次尝试服务时可能会遇到这些错误。
error: restPort (5002) is already in use
error: SUPERVISOR error Error: listen EADDRINUSE 127.0.0.1:5001
at Object._errnoException (util.js:1022:11)
at _exceptionWithHostPort (util.js:1044:20)
at Server.setupListenHandle [as _listen2] (net.js:1351:14)
at listenInCluster (net.js:1392:12)
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1501:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:97:10)
error: supervisorPort (5001) is already in use
但是尽管有这些错误,Firebase 仍然以某种方式继续成功提供服务。它仍然显示我的应用超过 http://localhost:5000
。
希望对您有所帮助!
我构建了这个 React App,允许用户添加待办事项,并将项目标记为 completed/active。 Todo 项存储在 Cloud firestore 中。
我想在应用程序上启用全文搜索,一种方法是创建一个云函数,每当云 firestore 见证创建操作时,它就会将索引写入 Algolia。
在我的应用程序根目录中,我 initialize cloud functions and then implement the onTodoAdded function。完成后,我在 functions
目录下 运行 firebase serve
并得到错误:
=== Serving from '/Users/evan/source/react-redux-todos'...
i functions: Preparing to emulate functions.
Warning: You're using Node.js v10.6.0 but Google Cloud Functions only supports v6.11.5.
i hosting: Serving hosting files from: build
✔ hosting: Local server: http://localhost:5000
error: SUPERVISOR error Error: listen EADDRINUSE 127.0.0.1:5001
at Server.setupListenHandle [as _listen2] (net.js:1335:14)
at listenInCluster (net.js:1383:12)
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1509:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:61:10)
error: supervisorPort (5001) is already in use
i functions: No HTTPS functions found. Use firebase functions:shell if you would like to emulate other types of functions.
要获得完整的调试日志,请查找 here。
然而,这个命令工作正常:firebase serve --only functions
。
=== Serving from '/Users/evan/source/react-redux-todos'...
i functions: Preparing to emulate functions.
Warning: You're using Node.js v10.6.0 but Google Cloud Functions only supports v6.11.5.
i functions: No HTTPS functions found. Use firebase functions:shell if you would like to emulate other types of functions.
因为它说 supervisorPort(5001) 已经在使用中,所以我 lsof -i:5001
没有找到进程。我也关闭我的笔记本电脑并重新启动,得到同样的错误。
我发现了类似的问题 here,但是没有找到解决方案。
我仍然不知道原因,但是添加--port=9000
解决了问题。例如,firebase serve --only functions --port=9000
。归功于 restPort (5001) is already in use #142.
我在更新到 macOS Mojave 10.14.1(适用于 10.14)后遇到了同样的错误。 error: supervisorPort (5001) is already in use
它让我陷入了额外的更新和配置这个兔子洞,最终让它发挥作用。
1 更新节点包
我将这些项目更新为这些版本(截至撰写本文时为最新版本)
- firebase 函数:2.1.0
- 火力基地:5.5.8
我删除了 node_modules 文件夹并重新安装了所有软件包。
2 需要 Firestore 模拟器设置
下次我尝试服务时,firebase 给了我这个错误:
Setup required, please run: firebase setup:emulators:firestore
由于我最初使用 mac 时遇到的奇怪权限问题,我实际上不得不 运行
node_modules/.bin/firebase setup:emulators:firestore
3 然后....修复 Java 运行时问题
在我的下一次发球尝试中,我看到 firestore: No Java runtime present, requesting install.
Mac 弹出一个页面,您可以在其中 "download java for mac"。这不是你真正需要的。您确实需要启用命令行界面的 Java SE Development Kit 。
那么...您下次尝试服务时可能会遇到这些错误。
error: restPort (5002) is already in use
error: SUPERVISOR error Error: listen EADDRINUSE 127.0.0.1:5001
at Object._errnoException (util.js:1022:11)
at _exceptionWithHostPort (util.js:1044:20)
at Server.setupListenHandle [as _listen2] (net.js:1351:14)
at listenInCluster (net.js:1392:12)
at GetAddrInfoReqWrap.doListen [as callback] (net.js:1501:7)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:97:10)
error: supervisorPort (5001) is already in use
但是尽管有这些错误,Firebase 仍然以某种方式继续成功提供服务。它仍然显示我的应用超过 http://localhost:5000
。
希望对您有所帮助!