111 lines
3.2 KiB
Markdown
111 lines
3.2 KiB
Markdown
# 2.1 开发环境准备
|
||
|
||
:::tip 概述
|
||
本章指导您从零搭建开发环境,包括 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 安装
|
||
|
||
:::warning 版本要求
|
||
项目 go.mod 声明 `go 1.27.2`,请安装 Go 1.27.2 及以上版本,过低版本会直接编译失败。
|
||
:::
|
||
|
||
### Windows
|
||
|
||
从 [https://go.dev/dl/](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`。
|
||
|
||
::: warning 库名注意
|
||
库名 `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
|
||
```
|
||
|
||
::: tip 降级说明
|
||
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 Desktop | Redis 管理 |
|
||
| 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 连接信息与实际一致
|