Fiber 稳定版是 v2,v3 仍为测试版;v2 要求 Go 1.21+,安装需用 go get github.com/gofiber/fiber/v2,初始化必须用 fiber.New() 而非 fiber.Default(),避免默认中间件引发性能与安全问题。

Fiber 稳定生产版本是 v2,不是 v3;当前(2026 年 10 月)v3 仍为测试阶段,不建议用于上线项目。
确认 Go 版本是否满足 v2 要求
v2 要求 go version 1.21+(部分资料写 1.19+,但官方文档与实测推荐 1.21+)。运行:
go version
若输出低于 go1.21,必须升级。例如用:
go install golang.org/dl/go1.24@latest<br>go1.24 download
——别跳过这步,go get 在版本不兼容时会静默拉取旧版或失败,后续编译/运行都可能报奇怪错误。
用 go get 安装 v2,路径必须带 /v2
执行:
go mod init myapp<br>go get github.com/gofiber/fiber/v2
注意三点:
- 不要加
-u参数——它会强制升级间接依赖,可能破坏 v2 兼容性 - import 语句必须写成
github.com/gofiber/fiber/v2,不能漏掉/v2 - 不能同时 import
/v2和/v3,Go 模块系统会报错invalid version
别碰 fiber.Default(),初始化一律用 fiber.New()
安装完只是第一步,真正踩坑在初始化。常见错误是:
app := fiber.Default() // ❌ 上线即出事
它默认启用 logger、recover、requestid 中间件,导致:
- 每秒数百请求时 Authorization 头被完整写入日志,I/O 压垮磁盘
- TTFB 实测增加 0.3–0.8ms(4 核 8G 环境)
- 敏感信息泄露风险
正确写法只有这一种:
app := fiber.New()
后续按需添加中间件,比如只在 debug 环境加日志,生产环境关掉堆栈:
app.Use(recover.New(recover.Config{EnableStackTrace: false}))
v3 不是“更新”,是实验性分支,别误当稳定版用
虽然有些教程或 AI 回复提到 go get github.com/gofiber/fiber/v3,但截至 2026 年 10 月,v3:
- 要求
go 1.24+,且生态工具(如 CI 检查、第三方中间件)尚未对齐 - API 不稳定,
fiber.NewWithCustomCtx等新函数在流水线中容易因版本漂移失效 - 文档和示例混用 v2/v3,新手极易粘贴错代码
除非你明确要参与 v3 测试并自行兜底所有兼容性问题,否则请坚持用 v2。
最易被忽略的一点:模块初始化和框架初始化是两件事——go mod init 成功不代表 fiber.New() 就能安全上线,中间件配置错误才是线上事故高发区。


















