Supabase CLI
在本地开发,部署到 Supabase 平台,并设置 CI/CD 工作流程
Supabase CLI 让您可以在本地机器或 CI 环境中运行整个 Supabase 堆栈。只需两条命令,您就可以设置并启动一个新的本地项目
supabase init创建新的本地项目supabase start启动 Supabase 服务
安装 Supabase CLI#
通过在每个命令前加上 npx 或 bunx 来运行 CLI
1npx supabase --help当通过 npx 或 npm 运行时,Supabase CLI 需要 Node.js 20 或更高版本。不支持较旧的 Node.js 版本(如 16),并且无法启动 CLI。
您也可以通过 npm 将 CLI 安装为开发依赖
1npm install supabase --save-dev更新 Supabase CLI#
发布新版本时,您可以使用相同的方法更新 CLI。
如果您通过 npm 将 CLI 安装为开发依赖,您可以使用以下命令更新它
1npm update supabase --save-dev如果在本地运行任何 Supabase 容器,请在升级前停止它们并删除其数据卷。这确保 Supabase 托管服务可以在本地数据库的干净状态下应用新的迁移。
备份并停止运行中的容器
请记住在停止之前保存任何本地 Schema 和数据更改,因为 --no-backup 标志将删除它们。
1supabase db diff -f my_schema2supabase db dump --local --data-only > supabase/seed.sql3supabase stop --no-backup在本地运行 Supabase#
Supabase CLI 使用 Docker 容器来管理本地开发堆栈。请按照官方指南安装和配置 Docker Desktop

或者,您可以使用提供 Docker 兼容 API 的不同容器工具。
- Rancher Desktop (macOS, Windows, Linux)
- Podman (macOS, Windows, Linux)
- OrbStack (macOS)
- colima (macOS)
在您要创建项目的文件夹中,运行
1supabase init这将创建一个新的 supabase 文件夹。您可以安全地将此文件夹提交到您的版本控制系统。
现在,要启动 Supabase 堆栈,运行
1supabase start首次运行时需要时间,因为 CLI 需要将 Docker 镜像下载到您的本地机器。CLI 包含完整的 Supabase 工具集,以及一些对本地开发有用的额外镜像(如本地 SMTP 服务器和数据库差异工具)。
访问您的项目服务#
一旦所有 Supabase 服务都运行起来,您将看到包含本地 Supabase 凭据的输出。它应该看起来像这样,包含您将在本地项目中使用的 URL 和密钥
1Started supabase local development setup.23 API URL: https://:543214 DB URL: postgresql://postgres:postgres@localhost:54322/postgres5 Studio URL: https://:543236 Mailpit URL: https://:543247 anon key: eyJh......8service_role key: eyJh......1# Default URL:2https://:54323本地开发环境包括 Supabase Studio,这是一个用于处理数据库的图形界面。

停止本地服务#
完成 Supabase 项目工作后,您可以停止堆栈(不重置本地数据库)
1supabase stop