版本: v1.0 最后更新: 2026-04-03 受众: 开发者 阅读时间: 10 分钟
本文档详细说明了如何在本地搭建 PostWaver 的开发环境。
| 软件 | 最低版本 | 推荐版本 | 安装命令 |
|---|---|---|---|
| Node.js | 18.0.0 | 20.x LTS | 官方安装 |
| pnpm | 8.0.0 | 最新版 | npm install -g pnpm |
| Git | 2.x | 最新版 | 官方安装 |
| 软件 | 用途 |
|---|---|
| VS Code | 推荐的 IDE |
| Python 3.x | Linker 包的语义分析功能 |
# Clone 主仓库
git clone https://github.com/Charliechen114514/post_waver.git
cd post_waver
# 或者 fork 后 clone 你的 fork
git clone https://github.com/YOUR_USERNAME/post_waver.git
cd post_waver
# 安装所有依赖
pnpm install
# 这将安装:
# - 所有包的依赖
# - 开发依赖
# - TypeScript
# - 测试框架
# 初始化数据库(生成 Prisma Client)
pnpm db:init
# 运行数据库迁移(创建数据库文件和表结构)
pnpm db:migrate:prisma
💡 说明:
pnpm db:init生成 Prisma Client(TypeScript 类型定义)pnpm db:migrate:prisma创建 SQLite 数据库文件并运行所有迁移- 迁移会自动导入初始配置数据
# 构建所有包
pnpm build
# 这将:
# - 编译 TypeScript
# - 生成 dist/ 目录
# - 复制静态资源
# 完整启动(构建 + 启动服务)
pnpm dev
# 或者快速启动(跳过构建)
pnpm start
# 服务端口:
# - API Server: http://localhost:3001
# - Web UI: http://localhost:5173/post_waver/
创建 .env 文件:
# 创建 .env 文件
cat > .env << 'EOF'
# Database
DATABASE_URL="file:./packages/database/prisma/dev.db"
# API Configuration
API_PORT=3001
API_HOST=localhost
# Environment
NODE_ENV=development
# 平台 API(可选)
JUEJIN_TOKEN=your_token_here
WECHAT_APPID=your_appid_here
WECHAT_SECRET=your_secret_here
# Hexo 配置
HEXO_BLOG_PATH=./blog
EOF
⚠️ 重要:
.env文件用于本地开发配置,包含敏感信息,已被添加到.gitignore中不会被提交。
curl http://localhost:3001/api/health
预期响应:
{
"status": "ok",
"timestamp": "2026-04-03T10:00:00Z"
}
在浏览器打开:http://localhost:5173/post_waver/
# 运行所有测试
pnpm test
# 运行单元测试
pnpm test:units
# Lint TypeScript
pnpm lint:ts
# Lint Markdown
pnpm lint:md
# 修复问题
pnpm lint:fix
# 检查所有包的类型
pnpm typecheck
# 检查单个包
pnpm --filter @content-hub/core typecheck
# 打开 Prisma Studio(数据库 GUI)
pnpm db:studio
# 查看文章状态
pnpm post:status
# 1. 拉取最新代码
git pull origin main
# 2. 创建功能分支
git checkout -b feature/your-feature
# 3. 进行开发
# ... 编写代码 ...
# 4. 类型检查
pnpm typecheck
# 5. 运行测试
pnpm test
# 6. 构建项目
pnpm build
# 7. 提交代码
git add .
git commit -m "feat: add your feature"
# 8. 推送到远程
git push origin feature/your-feature
# 监听 TypeScript 编译
pnpm --filter @content-hub/core dev
# 监听 Web UI(自动重新加载)
pnpm dev:web
# 监听 API 服务器
pnpm dev:api
问题: pnpm install 失败
解决方案:
# 清理缓存
pnpm store prune
# 删除 node_modules
rm -rf node_modules packages/*/node_modules
# 重新安装
pnpm install
问题: Prisma 相关错误
解决方案:
# 重新生成 Prisma Client
pnpm prisma generate
# 重置数据库
pnpm db:migrate:prisma
问题: 端口 3001 或 5173 被占用
解决方案:
# 查找并终止进程
lsof -ti :3001 | xargs kill -9
lsof -ti :5173 | xargs kill -9
现在您的开发环境已经搭建完成,接下来可以:
最后更新: 2026-04-03 维护者: PostWaver Team 反馈: GitHub Issues