CLI
用于管理你的项目的内置 CLI。
Better Auth 配备了一个内置的 CLI,帮助你管理数据库架构、初始化项目、为应用生成密钥,并收集你的设置的诊断信息。
生成 (Generate)
generate 命令创建 Better Auth 所需的架构。如果你使用的是 Prisma 或 Drizzle 等数据库适配器,该命令会为你的 ORM 生成正确的架构。如果你使用内置的 Kysely 适配器,它会生成一个 SQL 文件,你可以直接在数据库上执行。
npx auth@latest generate选项
--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 auth@latest migrate选项
--config- Better Auth 配置文件路径。默认情况下,CLI 会在 ./、./utils、./lib 或src目录下的这些路径中搜索 auth.ts 文件。--yes- 跳过确认提示,直接应用架构。
使用 PostgreSQL 非默认 schema?
migrate 命令会自动检测你配置的 search_path,并在正确的 schema 中创建表。详情请参阅 PostgreSQL 适配器文档。
初始化 (Init)
init 命令允许你在项目中初始化 Better Auth。
npx auth@latest init选项
--name- 应用名称。(默认为package.json中的name属性)--framework- 代码库使用的框架。目前仅支持Next.js。--plugins- 你想使用的插件。可以用逗号分隔多个插件。--database- 你想使用的数据库。目前仅支持SQLite。--package-manager- 你想使用的包管理器。目前支持npm、pnpm、yarn、bun(默认为初始化 CLI 时使用的管理器)。
信息 (Info)
info 命令提供 Better Auth 设置和环境的诊断信息,适合调试和寻求支持时共享。
npx auth@latest info输出内容
该命令显示:
- 系统:操作系统、CPU、内存、Node.js 版本
- 包管理器:检测到的管理器及版本
- Better Auth:版本及配置(敏感数据自动屏蔽)
- 框架:检测到的框架(Next.js、React、Vue 等)
- 数据库:数据库客户端及 ORM(Prisma、Drizzle 等)
选项
--config- Better Auth 配置文件路径--json- 以 JSON 格式输出,方便共享或程序使用
示例
# 基本用法
npx auth@latest info
# 指定配置路径
npx auth@latest info --config ./config/auth.ts
# JSON 格式输出
npx auth@latest info --json > auth-info.json敏感数据如密钥、API Key、数据库 URL 会被自动替换为 [REDACTED],确保安全共享。
密钥 (Secret)
CLI 还提供了生成 Better Auth 实例密钥的方法。
npx auth@latest secret常见问题 (Common Issues)
错误:无法找到模块 X
如果出现此错误,说明 CLI 无法解析 Better Auth 配置文件中的导入模块。我们正在修复许多此类问题,但在此之前,你可以尝试:
- 移除配置文件中的任何导入别名,改用相对路径。运行完 CLI 后,可以再恢复使用别名。