Skip to content

2.1 开发环境准备 ​

概述

本章指导您从零搭建开发环境,包括 Go、Node.js/pnpm、MySQL、Redis 的安装与配置。项目后端支持 MySQL、PostgreSQL、SQL Server、Oracle、SQLite 五种数据库,默认使用 MySQL。

安装流程总览 ​

mermaid
graph TD
    A[开始] --> B[安装 Go 1.27+]
    B --> C[安装 MySQL 8.x]
    C --> D[安装 Redis]
    D --> E[安装 Node.js 18+ / pnpm]
    E --> F[安装 GoFrame CLI gf]
    F --> G[配置开发工具]
    G --> H[环境就绪 ✅]

    style A fill:#e8f5e9
    style H fill:#e8f5e9
    style C fill:#fff3e0

Go 安装 ​

版本要求

项目 go.mod 声明 go 1.27.2,请安装 Go 1.27.2 及以上版本,过低版本会直接编译失败。

Windows ​

从 https://go.dev/dl/ 下载 go1.27.2.windows-amd64.msi 默认安装。验证:

sh
go version    # go version go1.27.2 windows/amd64

建议配置国内代理(下载依赖加速):

sh
go env -w GOPROXY=https://goproxy.cn,direct

GoFrame CLI(可选但推荐) ​

sh
go install github.com/gogf/gf/cmd/gf/v2@latest
gf -v

gf 仅在表结构变更后刷新 dao 时使用(gf gen dao -c hack/config.yaml),日常开发不依赖。

MySQL 安装 ​

推荐 MySQL 8.x,安装后创建数据库(注意库名含点):

sql
CREATE DATABASE `easygoadmin.goframe.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

默认连接账号 root/root@127.0.0.1:3306,如不同请同步修改 manifest/config/config.yaml 的 database.default.link。

库名注意

库名 easygoadmin.goframe.elevue 含点号,DDL 语句中引用库名/表名时 MySQL 需要反引号包裹。MySQL 定稿导入脚本为 document/mysql/easygoadmin.goframe.elevue.sql(其余方言见 document/{postgresql,sqlserver,oracle,sqlite}/)。

Redis 安装 ​

Redis 用于缓存、JWT 黑名单、验证码、在线用户、限流计数、任务执行锁。默认连接 127.0.0.1:6379,密码 123456(见 config.yaml redis.default.pass)。

sh
# Windows 可使用 Memurai / WSL / Redis for Windows
# 验证
redis-cli -a 123456 ping    # PONG

降级说明

Redis 不可用时系统自动降级为进程内存缓存(utility/cache),服务可正常启动,但限流计数、任务锁、在线用户、黑名单等多实例共享能力退化为单机语义。生产环境 Redis 必须可用。

Node.js / pnpm 安装 ​

前端要求 Node.js 18+,推荐 pnpm 包管理:

sh
# 安装 Node.js(https://nodejs.org LTS 版)
node -v    # v18+

# 安装 pnpm
npm install -g pnpm
pnpm -v

开发工具推荐 ​

工具用途
GoLand / VS Code + Go 插件后端开发
VS Code + Volar 插件前端开发(关闭 Vetur)
Navicat / DBeaver数据库管理
RedisInsight / Another Redis DesktopRedis 管理
Apifox / Postman接口调试(也可直接用内置 /swagger)

环境检查清单 ​

  • [ ] go version 输出 1.27.2+
  • [ ] MySQL 已建库 easygoadmin.goframe.elevue(utf8mb4)
  • [ ] redis-cli ping 返回 PONG
  • [ ] node -v 输出 18+,pnpm -v 正常
  • [ ] manifest/config/config.yaml 中数据库/Redis 连接信息与实际一致

小蚂蚁云团队 · 提供技术支持