Gin 技术栈依赖清单(适配 Go 1.25.7)
目标版本:Go 1.25.7
原则:精简、高效、易上手、好用、安全;所有依赖均兼容 Go 1.25,无需更换或移除。
一、Go 版本说明
- Go 1.25 于 2025 年 8 月发布,遵守 Go 1 兼容性承诺,现有主流库均可使用。
- Gin 官方要求 Go 1.24+,1.25.7 满足要求。
- golang.org/x/*(crypto、time 等)随 Go 工具链维护,支持当前稳定版。
- 若某依赖未显式声明支持 1.25,只要其
go.mod 为 go 1.21 或更高,在 1.25 下均可正常编译使用。
二、依赖列表(均适配 Go 1.25.7)
1. 核心与数据库
| 依赖 |
版本建议 |
说明 |
github.com/gin-gonic/gin |
最新 v1.x |
要求 Go 1.24+,1.25.7 兼容。 |
gorm.io/gorm |
最新 v1.31.x |
无对高版本 Go 的限制。 |
gorm.io/driver/mysql |
最新 |
与 GORM 配套。 |
2. 安全
| 依赖 |
版本建议 |
说明 |
github.com/unrolled/secure |
v1.17+ |
标准 net/http 中间件,兼容 Go 1.25。 |
golang.org/x/crypto |
最新 |
使用 bcrypt 等,随 Go 生态更新。 |
golang.org/x/time |
最新 |
使用 rate 限流,兼容 Go 1.25。 |
3. 配置
| 依赖 |
版本建议 |
说明 |
github.com/joho/godotenv |
v1.5.x |
仅读 .env,无高版本 Go 要求。 |
或 github.com/caarlos0/env/v11 |
v11.x |
解析 env 到结构体,兼容当前 Go。 |
4. 跨域与鉴权
| 依赖 |
版本建议 |
说明 |
github.com/gin-contrib/cors |
v1.6+(务必 ≥1.6,修复 CVE) |
与 Gin 1.24+ / Go 1.25 兼容。 |
github.com/golang-jwt/jwt/v5 |
最新 v5.x |
推荐 v5,与 Go 1.25 兼容。 |
5. 接口文档(可选)
| 依赖 |
版本建议 |
说明 |
github.com/swaggo/swag/cmd/swag |
最新(CLI 工具) |
代码生成,使用最新 CLI 即可。 |
github.com/swaggo/gin-swagger |
最新 |
与 Gin 配套。 |
github.com/swaggo/files |
最新 |
Swagger UI 静态资源。 |
6. 开发工具(仅开发环境)
| 依赖 |
版本建议 |
说明 |
github.com/cosmtrek/air |
最新 |
热重载,与 Go 1.25 兼容。 |
三、无需更换或移除
- 上述依赖在 Go 1.25.7 下均无需更换或移除。
- 未列入的冗余依赖(如单独再引入 validator、Viper、zap 等)按此前「精简版」建议已不纳入,无需因 Go 1.25 再改。
四、推荐 go.mod 片段(Go 1.25)
在项目根目录执行:
然后按需拉取依赖(示例):
五、验证方式
在 soul-server 目录下执行:
若通过,则当前依赖与 Go 1.25.7 兼容。若某库报错,优先升级该库至最新 minor/patch 再试。
六、小结
| 项目 |
结论 |
| Go 1.25.7 |
支持,所有推荐依赖均适用。 |
| 需要更换的依赖 |
无。 |
| 需要移除的依赖 |
无(按本清单与精简原则已不包含不必要项)。 |
| 建议 |
使用 go 1.25,定期 go get -u ./... 与 go mod tidy 保持依赖健康。 |