当前唯一稳定安装方式是 go get github.com/kataras/iris/v12@latest,必须带 /v12 和 @latest;需启用 Go Modules(GO111MODULE=on),推荐配置 GOPROXY;最小服务示例无需 go mod init 即可运行。

go get 是最直接的安装方式,但不加版本约束的 go get github.com/kataras/iris 已失效,会拉取旧版或报错。当前(2026年)唯一稳定、可复现的方式是明确指定 v12 模块路径。
go get github.com/kataras/iris/v12@latest 必须带 /v12 和 @latest
- Iris 自 v12 起强制使用 Go Modules,包路径必须包含
/v12,否则:-
go get github.com/kataras/iris→ 找不到模块或导入失败 -
go get github.com/kataras/iris/v12(无@latest)→ 可能因 GOPROXY 缓存返回 404 或空响应
-
- 你的项目必须启用 Go Modules(
GO111MODULE=on),否则go get会忽略/v12后缀,降级到 GOPATH 模式并失败 - 推荐命令(含代理兜底):
go env -w GOPROXY=https://goproxy.cn,direct go env -w GO111MODULE=on go get github.com/kataras/iris/v12@latest
初始化一个可立即运行的最小服务
安装完后,新建 main.go,内容如下(无需额外依赖、无需 go mod init 预操作):
package main
<p>import "github.com/kataras/iris/v12"</p><p>func main() {
app := iris.New()
app.Get("/", func(ctx iris.Context) {
ctx.WriteString("Hello Iris!")
})
app.Run(iris.Addr(":8080"))
}- 直接执行
go run main.go即可启动 - 浏览器访问
<a href="https://www.php.cn/link/cbb686245ece57c9827c4bc0d0654a8e">https://www.php.cn/link/cbb686245ece57c9827c4bc0d0654a8e</a>看到响应即表示通路 - 注意:不要用
iris.Default()开头——它默认启用日志中间件,在极简验证场景下反而容易因缺失 logger 配置而 panic(尤其在某些旧环境或 CI 中)
常见失败现象和绕过方法
错误信息:
cannot find module providing package github.com/kataras/iris/v12
→ 说明go.mod未生成或GO111MODULE关闭;先执行go mod init example再重试go get错误信息:
Assets undefined (type *blocks.Blocks has no field or method Assets)
→ 混用了旧版 Iris(如 v11 或 master 分支)与新文档;删掉$GOPATH/src/github.com/kataras整个目录,再 clean mod cache:go clean -modcache,然后重装 v12Windows 下 cmd 中
set GO111MODULE=on不生效
→ 改用 PowerShell:$env:GO111MODULE="on",或直接用go env -w写入全局配置(更可靠)
真正“极速”的关键不是命令多短,而是避开模块解析歧义和环境残留。v12 的路径规则和 @latest 锚点是目前最稳的起点,其他任何省略写法都可能在不同机器上表现不一致。


















