CLI

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

生成

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

Terminal
npx @better-auth/cli@latest generate

选项

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

迁移

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

Terminal
npx @better-auth/cli@latest migrate

选项

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

初始化

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

Terminal
npx @better-auth/cli@latest init

选项

  • --name - 您的应用程序名称。(默认为 package.json 中的 name 属性)。
  • --framework - 您的代码库使用的框架。目前,仅支持 Next.js
  • --plugins - 您想要使用的插件。您可以通过逗号分隔来指定多个插件。
  • --database - 您想要使用的数据库。目前,仅支持 SQLite
  • --package-manager - 您想要使用的包管理器。目前,支持的包管理器为 npmpnpmyarnbun(默认为用于初始化 CLI 的管理器)。

信息

info 命令提供有关您的 Better Auth 设置和环境的诊断信息。适用于调试和寻求支持时的共享。

Terminal
npx @better-auth/cli@latest info

输出

该命令显示:

  • 系统:OS、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 实例生成密钥的方法。

Terminal
npx @better-auth/cli@latest secret

常见问题

错误:无法找到模块 X

如果您看到此错误,则表示 CLI 无法解析 Better Auth 配置文件中的导入模块。我们正在修复许多此类问题,但在此期间,您可以尝试以下方法:

  • 在配置文件中移除任何导入别名,并改用相对路径。运行 CLI 后,您可以恢复使用别名。

On this page