命令行界面 (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、./lib 或src
目录下的这些目录中搜索auth.ts
文件。--yes
- 跳过确认提示并直接生成模式。
迁移 (Migrate)
migrate 命令将 Better Auth 模式直接应用到您的数据库。如果您使用的是内置的 Kysely 适配器,则此功能可用。对于其他适配器,您需要使用 ORM 的迁移工具来应用模式。
npx @better-auth/cli@latest migrate
选项 (Options)
--config
- 您的 Better Auth 配置文件路径。默认情况下,CLI 将在 ./、./utils、./lib 或src
目录下的这些目录中搜索auth.ts
文件。--yes
- 跳过确认提示并直接应用模式。
初始化 (Init)
init
命令允许您在项目中初始化 Better Auth。
npx @better-auth/cli@latest init
选项
--name
- 您的应用程序名称。(默认使用package.json
中的name
属性。)--framework
- 您的代码库所使用的框架。目前唯一支持的框架是nextjs
。--plugins
- 您希望使用的插件。可以通过逗号分隔来指定多个插件。--database
- 您希望使用的数据库。目前唯一支持的数据库是sqlite
。--package-manager
- 您希望使用的包管理器。目前支持的包管理器有npm
、pnpm
、yarn
、bun
。(默认使用您初始化 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 后,你可以恢复使用别名。