安装

在你的机器上运行 Next.js 模板。

本指南带你从全新克隆到应用在 http://localhost:3000 上运行。

前置条件

  • Node.js 20.9 或更高版本(Next.js 16 要求 Node 20.9+)。建议使用 LTS 版本。
  • pnpm —— 本项目的包管理器。可用 corepack enable 启用,或从 pnpm.io 安装。
  • PostgreSQL —— 一个可连接的本地或托管数据库。你只需要一个可达的 DATABASE_URL

启动只需要数据库。邮件、OAuth、支付与 AI 各自需要对应的密钥,但应用在没有它们的 情况下也能启动 —— 这些功能在配置之前保持未激活。参见 环境变量

配置步骤

安装依赖

pnpm install

创建环境文件

复制示例文件,并至少填入 DATABASE_URL 与 Better Auth 相关值:

cp .env.example .env

本地启动所需的最小集合:

  • DATABASE_URL —— 你的 PostgreSQL 连接字符串。
  • BETTER_AUTH_SECRET —— 随机密钥。可用 openssl rand -base64 32 生成。
  • BETTER_AUTH_URL —— 本地开发使用 http://localhost:3000

其余变量在首次运行时都是可选的。完整参考见 环境变量

初始化数据库 schema

将 Drizzle schema 推送到数据库:

pnpm exec drizzle-kit push

这会创建认证与支付表。schema 以及生产环境迁移的注意事项见 数据库

验证安装

逐项确认每一层都已打通:

  • 首页http://localhost:3000 正常加载。
  • 数据库 已连接 —— 终端没有连接错误,且 drizzle-kit push 顺利完成。
  • 注册 —— 在 /register 创建一个账户。
  • 邮箱验证 —— 注册要求验证邮箱。若未配置 Resend,验证邮件无法发送,登录会 被阻止。见下方提示。
  • 仪表盘 —— 验证并登录后可访问 /dashboard

默认要求邮箱验证(src/lib/auth.ts 中的 requireEmailVerification: true)。 若未设置 RESEND_API_KEY,验证邮件无法投递,新账户也无法登录。本地测试时,请配置 Resend(邮件),或在 src/lib/auth.ts 中临时放宽此设置。

包脚本

以下是 package.json 中定义的脚本:

命令作用
pnpm dev启动 Next.js 开发服务器
pnpm build生产构建
pnpm start运行生产构建(需先 build
pnpm lint运行 Biome 检查(biome check
pnpm format使用 Biome 格式化(biome format --write

数据库命令

Drizzle Kit 通过 pnpm exec 直接调用;它们不是包脚本:

命令作用
pnpm exec drizzle-kit push将 schema 推送到数据库(本地工作流)
pnpm exec drizzle-kit studio打开 Drizzle Studio 浏览数据

常见首次运行问题

现象可能原因解决
启动时连接被拒 / ECONNREFUSEDDATABASE_URL 缺失或 PostgreSQL 未运行启动 PostgreSQL 并核对 URL
认证错误 / 会话无效BETTER_AUTH_SECRET 缺失或被更改.env 中设置稳定的密钥
注册后无法登录要求邮箱验证但未配置 Resend配置 RESEND_API_KEY 或本地放宽验证
OAuth 按钮无反应或报错未设置 GitHub/Google 凭据配置对应提供方或隐藏按钮 —— 见 身份认证

相关页面

On this page