GitHub工作流中用Supabase CLI Action调用supabase-js遇ECONNREFUSED错误
问题解答
核心结论
supabase/setup-cli@v1 Action本身不会暴露Supabase Web API,因为它的唯一作用是在GitHub Runner环境中安装Supabase CLI工具,并不会自动启动本地Supabase服务实例。
原因分析
- 该Action仅负责CLI的安装与环境配置,让后续工作流步骤可以直接调用
supabase命令,但不会主动初始化Supabase项目或启动包含Web API在内的本地服务集群。 - 你测试代码中调用
supabase.auth.signUp需要连接的端口54321,是Supabase本地实例Web API的默认端口,但这个服务根本没启动,所以才会抛出ECONNREFUSED错误。
修复方案
要在工作流中使用Supabase Web API,必须添加专门的步骤启动本地Supabase实例:
- 确保项目根目录已有Supabase配置文件(
supabase/config.toml),如果没有,先执行初始化命令:
- name: Initialize Supabase project run: supabase init
- 启动本地Supabase服务:
- name: Start local Supabase instance run: supabase start
- 等待服务完全启动后,再执行你的vitest测试套件。
内容的提问来源于stack exchange,提问作者John Smith
相关产品推荐
相关产品推荐

