命令行界面 (CLI)

Better Auth 内置了一个 CLI 工具,可帮助您管理数据库模式、初始化项目、为应用程序生成密钥以及收集有关设置的诊断信息。

生成 (Generate)

generate 命令创建 Better Auth 所需的模式。如果您使用的是 Prisma 或 Drizzle 等数据库适配器,此命令将为您的 ORM 生成正确的模式。如果您使用的是内置的 Kysely 适配器,它将生成一个可以直接在数据库上运行的 SQL 文件。

终端
npx @better-auth/cli@latest generate

选项 (Options)

  • --output - 保存生成模式的位置。对于 Prisma,它将保存在 prisma/schema.prisma。对于 Drizzle,它保存在项目根目录的 schema.ts 中。对于 Kysely,它是一个 SQL 文件,保存在项目根目录的 schema.sql 中。
  • --config - 您的 Better Auth 配置文件路径。默认情况下,CLI 将在 ././utils./libsrc 目录下的这些目录中搜索 auth.ts 文件。
  • --yes - 跳过确认提示并直接生成模式。

迁移 (Migrate)

migrate 命令将 Better Auth 模式直接应用到您的数据库。如果您使用的是内置的 Kysely 适配器,则此功能可用。对于其他适配器,您需要使用 ORM 的迁移工具来应用模式。

终端
npx @better-auth/cli@latest migrate

选项 (Options)

  • --config - 您的 Better Auth 配置文件路径。默认情况下,CLI 将在 ././utils./libsrc 目录下的这些目录中搜索 auth.ts 文件。
  • --yes - 跳过确认提示并直接应用模式。

初始化 (Init)

init 命令允许您在项目中初始化 Better Auth。

终端
npx @better-auth/cli@latest init

选项

  • --name - 您的应用程序名称。(默认使用 package.json 中的 name 属性。)
  • --framework - 您的代码库所使用的框架。目前唯一支持的框架是 nextjs
  • --plugins - 您希望使用的插件。可以通过逗号分隔来指定多个插件。
  • --database - 您希望使用的数据库。目前唯一支持的数据库是 sqlite
  • --package-manager - 您希望使用的包管理器。目前支持的包管理器有 npmpnpmyarnbun。(默认使用您初始化 CLI 时所用的管理器。)

信息

info 命令提供关于您的 Better Auth 设置和环境的诊断信息。在调试和寻求支持时分享这些信息非常有用。

终端
npx @better-auth/cli@latest info

输出

该命令显示:

  • 系统:操作系统、CPU、内存、Node.js 版本
  • 包管理器:检测到的管理器及其版本
  • Better Auth:版本和配置(敏感数据自动脱敏)
  • 框架:检测到的框架(Next.js、React、Vue 等)
  • 数据库:数据库客户端和 ORM(Prisma、Drizzle 等)

选项

  • --config - 您的 Better Auth 配置文件路径
  • --json - 以 JSON 格式输出,便于分享或程序化使用

示例

# 基本用法
npx @better-auth/cli@latest info

# 自定义配置路径
npx @better-auth/cli@latest info --config ./config/auth.ts

# JSON 输出
npx @better-auth/cli@latest info --json > auth-info.json

敏感数据(如密钥、API 密钥和数据库 URL)会自动替换为 [REDACTED],以确保安全分享。

密钥

CLI 还提供了为您的 Better Auth 实例生成密钥的方法。

终端
npx @better-auth/cli@latest secret

常见问题

错误:找不到模块 X

如果你看到这个错误,意味着 CLI 无法解析你的 Better Auth 配置文件中导入的模块。我们正在修复这类问题,但在此期间,你可以尝试以下方法:

  • 移除配置文件中的所有导入别名,改用相对路径。运行 CLI 后,你可以恢复使用别名。

On this page