supabase/cli

GitHub: supabase/cli

Supabase 官方命令行工具,提供本地开发环境搭建、数据库迁移管理、边缘函数部署和类型生成等一站式开发运维能力。

Stars: 1930 | Forks: 399

# Supabase CLI [![Coverage Status](https://coveralls.io/repos/github/supabase/cli/badge.svg?branch=develop)](https://coveralls.io/github/supabase/cli?branch=develop) [![Bitbucket Pipelines](https://img.shields.io/bitbucket/pipelines/supabase-cli/setup-cli/master?style=flat-square&label=Bitbucket%20Canary)](https://bitbucket.org/supabase-cli/setup-cli/pipelines) [![Gitlab Pipeline Status](https://img.shields.io/gitlab/pipeline-status/sweatybridge%2Fsetup-cli?label=Gitlab%20Canary) ](https://gitlab.com/sweatybridge/setup-cli/-/pipelines) [Supabase](https://supabase.io) 是一个开源的 Firebase 替代品。我们正在使用企业级开源工具构建 Firebase 的功能。 此仓库包含 Supabase CLI 的所有功能。 - [x] 在本地运行 Supabase - [x] 管理数据库迁移 - [x] 创建和部署 Supabase Functions - [x] 直接从你的数据库 schema 生成类型 - [x] 向 [Management API](https://supabase.com/docs/reference/api/introduction) 发起已认证的 HTTP 请求 ## 入门指南 ### 安装 CLI 可通过 [NPM](https://www.npmjs.com) 作为 dev dependency 安装。安装命令: ``` npm i supabase --save-dev ``` 当使用 yarn 4 安装时,你需要通过以下 nodejs 配置禁用实验性的 fetch。 ``` NODE_OPTIONS=--no-experimental-fetch yarn add supabase ```
macOS 可通过 [Homebrew](https://brew.sh) 安装。安装命令: ``` brew install supabase/tap/supabase ``` 安装 beta 发布频道: ``` brew install supabase/tap/supabase-beta brew link --overwrite supabase-beta ``` 升级: ``` brew upgrade supabase ```
Windows 可通过 [Scoop](https://scoop.sh) 安装。安装命令: ``` scoop bucket add supabase https://github.com/supabase/scoop-bucket.git scoop install supabase ``` 升级: ``` scoop update supabase ```
Linux 可通过 [Homebrew](https://brew.sh) 及 Linux 软件包进行安装。 #### 通过 Homebrew 安装命令: ``` brew install supabase/tap/supabase ``` 升级: ``` brew upgrade supabase ``` #### 通过 Linux 软件包 Linux 软件包在 [Releases](https://github.com/supabase/cli/releases) 中提供。要安装,请根据你的包管理器下载 `.apk`/`.deb`/`.rpm`/`.pkg.tar.zst` 文件,并运行相应的命令。 ``` sudo apk add --allow-untrusted <...>.apk ``` ``` sudo dpkg -i <...>.deb ``` ``` sudo rpm -i <...>.rpm ``` ``` sudo pacman -U <...>.pkg.tar.zst ```
其他平台 你也可以在无需包管理器的情况下,通过 [go modules](https://go.dev/ref/mod#go-install) 安装 CLI。 ``` go install github.com/supabase/cli@latest ``` 在 `$PATH` 中为二进制文件添加符号链接以便于访问: ``` ln -s "$(go env GOPATH)/bin/cli" /usr/bin/supabase ``` 这也适用于其他非标准的 Linux 发行版。
社区维护的软件包 可通过 [pkgx](https://pkgx.sh/) 获取。软件包脚本在[这里](https://github.com/pkgxdev/pantry/blob/main/projects/supabase.com/cli/package.yml)。 在你的工作目录中安装: ``` pkgx install supabase ``` 可通过 [Nixpkgs](https://nixos.org/) 获取。软件包脚本在[这里](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/supabase-cli/default.nix)。
### 运行 CLI ``` supabase bootstrap ``` 或者使用 npx: ``` npx supabase bootstrap ``` bootstrap 命令将引导你通过其中一个 [starter](https://github.com/supabase-community/supabase-samples/blob/main/samples.json) 模板来设置 Supabase 项目。 ## 文档 命令和配置参考可以在[这里](https://supabase.com/docs/reference/cli/about)找到。 ## 破坏性变更 对于直接影响 CLI 命令、标志和配置的变更,我们遵循语义化版本控制。 但是,由于对其他服务镜像的依赖,我们无法保证 schema 迁移、seed.sql 和生成的类型在同一 CLI 主版本号下始终有效。如果你需要此类保证,我们建议你在 package.json 中固定一个特定的 CLI 版本。 ## 开发 从源码运行: ``` # Go >= 1.22 go run . help ```
标签:API管理, BaaS, EVTX分析, Firebase替代, GNU通用公共许可证, Homebrew, Node.js, PostgreSQL, Scoop, Supabase, 后端即服务, 备份, 威胁情报, 开发者工具, 开源, 数据库管理, 数据库迁移, 无服务器, 日志审计, 测试用例, 类型生成, 请求拦截, 边缘函数