安装fiber需先确认go版本:v3要求1.24+,v2支持1.21+;生产项目推荐v2(go get github.com/gofiber/fiber/v2);初始化用fiber.new()而非fiber.default();strictrouting默认开启,/users与/users/视为不同路径。

安装 Fiber 需要先确认 Go 版本
Fiber v3 要求 go version 1.24 或更高,v2 则支持到 go 1.21+。运行 go version 检查当前版本;若低于要求,需先升级——比如用 go install golang.org/dl/go1.24@latest 下载并执行 go1.24 download。别跳过这步,否则 go get 会静默失败或拉取不兼容的旧版依赖。
用 go get 安装 Fiber(v2 vs v3)
绝大多数生产项目应使用 v2 稳定版:go get github.com/gofiber/fiber/v2。v3 当前仍是测试阶段(截至 2026 年 9 月),文档和生态工具尚未完全对齐,fiber.NewWithCustomCtx 等新 API 在 CI/CD 流水线中容易因版本漂移出错。若真要试 v3,命令是 go get github.com/gofiber/fiber/v3,但必须同步升级 Go 至 1.24+,且不能混用 v2 和 v3 的 import 路径。
初始化项目:fiber.New() 是唯一安全起点
别用 fiber.Default() 初始化上线服务——它默认加载 Logger、Recover、RequestID 中间件,每秒写几百条含 Authorization 头的日志,I/O 直接拖垮 QPS,TTFB 增加 0.3–0.8ms。正确做法是:
使用 uber-go/dig 在 Golang 中实现依赖注入——基于反射容器,提供 Provide/Invoke、dig.In/dig.Out 参数与结果对象,支持命名依赖等
-
app := fiber.New()创建空实例 - 按需手动添加中间件,例如只在 debug 环境加
logger.New() - 错误恢复用
recover.New(recover.Config{EnableStackTrace: false})关掉堆栈(生产环境不需要)
开发阶段可临时用 fiber.Default() 快速验证逻辑,但上线前必须替换成 fiber.New() 并清理中间件列表。
第一个路由跑不起来?检查 StrictRouting 和路径结尾斜杠
注册了 app.Get("/users", handler),但访问 /users/ 返回 404,不是代码写错了,是 Fiber 默认开启 StrictRouting: true。它把 /users 和 /users/ 视为两个独立路径。解决方案有且只有两个:
- 显式注册两种形式:
app.Get("/users", handler)和app.Get("/users/", handler) - 加重定向中间件,统一把结尾带斜杠的请求 301 跳转到无斜杠版本(推荐)
千万别全局关 StrictRouting: false——当同时存在 /users 和 /users/:id 时,/users/123 可能被前者匹配,c.Params("id") 拿不到值,问题更难排查。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!










