6.3 开发环境与首次运行

环境搭建与首次运行

必备工具

工具 版本 说明
Go 1.25+ go.mod 中声明
Git 任意 代码版本管理
Node.js 22+ 构建前端管理后台(可选)
pnpm 9+ 前端包管理(可选)
Docker 20+ 跑 MySQL/Redis 依赖(可选)

克隆源码

推荐从 CNB 镜像克隆(国内速度更快):

git clone https://cnb.cool/mliev/dwz/dwz-server.git
cd dwz-server
go mod download

选一套最小依赖的开发配置

在项目根目录下创建 config.yaml(或从 config.yaml.example 复制),使用 SQLite + 内存缓存,不需要 MySQL 和 Redis:

http:
  mode: debug
  addr: ":8080"
  static_mode: disk       # 支持前端热更新
  templates_mode: disk

database:
  driver: sqlite
  filepath: "./config/sqlite.db"

cache:
  driver: local

id_generator:
  driver: local

jwt:
  secret: dev-only-secret-please-change
  expire_hours: 24

shortlink:
  domain: "http://localhost:8080"
  length: 6
  custom_length: true

注意:安装完成后,后台会在 ./config/config.yaml 写入一份"已安装"状态的配置文件,结构略有不同(例如 server.port 而非 http.addr)。开发时如果想重置,删除 ./config/ 目录即可重新进入安装向导。

启动

go run main.go

首次访问 http://127.0.0.1:8080,按向导创建管理员账号。安装成功后再次访问即进入后台。

Makefile 快捷命令

仓库根目录(若存在)提供了常用命令:

make run            # go run main.go
make test           # go test ./...
make build          # 构建二进制
make build-linux    # 交叉编译 Linux 版本

若无 Makefile,可直接使用对应的 go 命令。

IDE 建议

  • GoLand / IntelliJ IDEA:直接 Open 项目目录,自动识别 go.mod
  • VS Code:安装 Go 官方扩展;推荐 gopls 版本与 Go SDK 一致
  • 调试:可用 Delve (dlv debug main.go),断点打在 controller/service 层