在使用Iris v12框架时,可能会遇到以下错误:
go log/slog: package log/slog is not in GOROOT
❌ 问题原因
log/slog
包是Go 1.21版本新增的结构化日志包,在较低版本的Go中不存在此包。
✅ 解决方案
升级Go版本
将Go版本升级到 1.21及以上:
官方下载地址: https://golang.google.cn/dl/
官方说明文档: https://go.dev/doc/go1.21#slog
🔧 项目配置
go.mod配置
module your_project_name
go 1.21 // 更新为1.21或更高版本
require (
github.com/kataras/iris/v12 v12.1.8
)
Iris使用示例
package main
import "github.com/kataras/iris/v12"
func main() {
app := iris.New()
app.Use(iris.Compression)
app.Get("/", func(ctx iris.Context) {
ctx.HTML("Hello <strong>%s</strong>!", "World")
})
app.Listen(":8080")
}
📋 版本兼容性
Go版本 | log/slog支持 | 建议 |
---|---|---|
< 1.21 | ❌ 不支持 | 升级Go版本 |
>= 1.21 | ✅ 支持 | 推荐使用 |
💡 提示:升级Go版本后,记得更新go.mod文件中的Go版本声明,并重新构建项目。