Docs/getting started/安装

安装

本指南将帮助你在本地机器上设置 NextShip。

前置要求

在开始之前,请确保你已安装:

  • Node.js 18.17+ - 下载
  • pnpm 9+ - 使用 npm install -g pnpm 安装
  • PostgreSQL 数据库 - 推荐使用 Neon(有免费套餐)

克隆仓库

git clone https://github.com/your-username/nextship.git my-saas
cd my-saas

安装依赖

pnpm install

环境配置

复制示例环境文件:

cp .env.example .env.local

必需变量

# 应用
NEXT_PUBLIC_APP_URL=http://localhost:4000
 
# 数据库(Neon PostgreSQL)
DATABASE_URL=postgresql://user:pass@host/db?sslmode=require
 
# 认证(Better Auth)
BETTER_AUTH_SECRET=your-random-secret-key-min-32-chars

可选变量

# OAuth 提供商
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
 
# 支付 - Stripe(默认)
PAYMENT_PROVIDER=stripe
STRIPE_SECRET_KEY=sk_test_xxx
STRIPE_WEBHOOK_SECRET=whsec_xxx
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_xxx
 
# 支付 - Creem(替代方案)
# PAYMENT_PROVIDER=creem
# CREEM_API_KEY=ck_test_xxx
# CREEM_WEBHOOK_SECRET=xxx
 
# 邮件(Resend)
RESEND_API_KEY=re_xxx
EMAIL_FROM=noreply@yourdomain.com
 
# 文件存储(Cloudflare R2 或 AWS S3)
R2_ACCOUNT_ID=
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_BUCKET_NAME=
R2_PUBLIC_URL=
 
# AI 网关(可选)
OPENAI_API_KEY=sk-xxx
ANTHROPIC_API_KEY=sk-ant-xxx

数据库设置

推送数据库 schema 以创建表:

pnpm db:push

查看和管理数据库:

pnpm db:studio

启动开发服务器

pnpm dev

你的应用现在运行在 http://localhost:4000

Stripe Webhooks(本地开发)

在本地测试支付:

# 安装 Stripe CLI(macOS)
brew install stripe/stripe-cli/stripe
 
# 登录 Stripe
stripe login
 
# 转发 webhooks 到本地服务器
pnpm stripe:listen

邮件模板(开发环境)

预览邮件模板:

pnpm email:dev

http://localhost:3001 打开

脚本参考

命令描述
pnpm dev启动开发服务器(端口 4000)
pnpm build生产构建
pnpm start启动生产服务器
pnpm db:push推送 schema 变更
pnpm db:studio打开 Drizzle Studio
pnpm db:generate生成迁移文件
pnpm db:migrate运行迁移
pnpm stripe:listen转发 Stripe webhooks
pnpm email:dev预览邮件模板
pnpm check:fix修复 lint 问题

下一步