跳到正文
发现
命令行工具开发者工具

Supabase CLI:本地 Supabase 开发命令行

在终端启动完整本地 Supabase 栈、管理数据库迁移并部署 Edge Functions 的命令行工具。

admin
发布于 2026-11-04
浏览
1
访问
0
下载
0
版本
v3.0.0
平台
Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

Supabase CLI 把 Supabase 平台带到终端:在本地运行完整的 Supabase 栈、管理数据库迁移、部署 Edge Functions、生成类型,并自动化项目工作流。仓库使用 TypeScript 编写,是 pnpm monorepo,发布的包位于 apps/cli,采用 MIT 许可证。

主要功能

  • 本地开发栈:supabase init 创建工作区,supabase start 启动本地栈,supabase status 查看状态。本地栈包含 Postgres、Auth、Realtime、Storage、Edge Functions 以及 Supabase 的各个 API。
  • 模板启动:supabase bootstrap 可以从模板开始。
  • 连接托管项目:supabase login 登录后,用 supabase link 把本地工作区连接到托管项目。
  • 数据库迁移:创建迁移、比较 schema、把变更应用到本地或远端数据库。
  • Edge Functions:在同一个项目工作区中新建、本地运行和部署函数。
  • 类型生成:从本地数据库或已连接项目生成 TypeScript 类型。
  • 命令帮助:任意命令加 --help 可查看参数与示例,例如 supabase db --help。

安装与使用

多种安装方式任选其一:

# npm
npm install -D supabase

# macOS / Linux
brew install supabase/tap/supabase

# Windows
scoop install supabase

# 一键脚本
curl -fsSL https://raw.githubusercontent.com/supabase/cli/main/install | bash

Linux 的 .apk、.deb、.rpm、.pkg.tar.zst 安装包可从 Releases 下载;社区还通过 pkgx 和 Nixpkgs 提供包。

初始化并启动本地环境:

supabase init
supabase start
supabase status

连接托管项目:

supabase login
supabase link

数据库迁移相关命令:

supabase migration new create_profiles
supabase db diff
supabase db push
supabase db push --remote
supabase db reset

Edge Functions 与类型生成:

supabase functions new hello-world
supabase functions serve
supabase functions deploy hello-world

supabase gen types
supabase gen types --remote

更多资料见 CLI 参考 与 本地开发指南。

注意事项

v3.0.0 是重大版本,升级前请留意破坏性变更:

  • 能本地运行的命令现在默认作用于本地栈,统一的 --remote 参数取代了 --linked、--project-ref 和 --db-url。
  • 对托管项目的每次改动都会要求确认,CI 中可使用 --yes。
  • 命令行参数和 SUPABASE_* 环境变量会覆盖 config.toml。
  • 已废弃的命令、参数、配置键以及内置的 supabase-go 二进制被移除。
  • 升级旧项目前,先把 supabase/config.toml 中的 [inbucket] 段(以及 [remotes.<name>.inbucket])改名为 [local_smtp],否则 start、stop、status 和 db 命令会报错 [inbucket] in supabase/config.toml is no longer supported。

完整的迁移步骤见 v2 到 v3 迁移指南。


本作品整理自 GitHub 开源项目 supabase/cli,原作者 @supabase,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v3.0.0当前版本

    v3.0.0:可本地运行的命令默认指向本地栈,用统一的 --remote 取代 --linked、--project-ref、--db-url;托管项目改动需确认或 --yes;参数与环境变量覆盖 config.toml;移除废弃命令、配置键与内置 supabase-go。

评论