我们可以同时使用模拟器运行两个Firebase Function项目吗?我们要在本地测试两个Firebase Function项目的交互。
我们尝试在不同端口上运行两个项目。
/project1$ firebase -p 5000 serve --only functions
/project2$ firebase -p 5001 serve --only functions // 500 errors
如果执行上述操作,则在端口500
上启动仿真器后,在该端口上启动仿真器时,会在端口5001
上收到5000
错误。
此外,如果尝试在同一端口上运行仿真器,则会在第二次启动的仿真器上收到404错误。
/project1$ firebase -p 5000 serve --only functions
/project2$ firebase -p 5000 serve --only functions // 404 errors
不用说,当我们不尝试同时运行功能时,这些功能就可以正常工作。
答案 0 :(得分:0)
根据道格·史蒂文森(Doug Stevenson)对问题的评论,仿真器完全有可能使用比其声称使用的端口更多的端口,并且它正在尝试从其声称使用的端口号开始侦听多个端口。因此,要一次在多个项目上使用Firestore Function Emulator,值得尝试使用彼此之间有一定距离的端口号。例如。
可能会起作用:
/project1$ firebase -p 5000 serve --only functions
/project2$ firebase -p 8000 serve --only functions
可能无效:
/project1$ firebase -p 5000 serve --only functions
/project2$ firebase -p 5001 serve --only functions // 500 errors