本质是go默认代理被阻断,需先启用go modules(go env -w go111module=on),再设置国内goproxy(如https://goproxy.cn,direct),最后用go mod init初始化项目并go get github.com/kataras/iris/v12@latest安装。

用 go get 安装 Iris 框架时卡住、报错或提示 golang.org/x/... 无法访问,本质是 Go 默认代理被阻断,不是你本地网络或命令写错了。
确认是否启用 Go Modules
执行 go env GO111MODULE,输出必须是 on。如果显示 auto 或 off,则后续所有代理设置都无效——Iris 的 v12 版本强制要求 Modules 模式。
立即修复:运行 go env -w GO111MODULE=on(Windows)或 export GO111MODULE=on(macOS/Linux)。
设置国内可用的 GOPROXY
方法一:一次性临时生效(适合快速验证)
在当前终端中执行:set GOPROXY=https://goproxy.cn,direct(Windows)export GOPROXY=https://goproxy.cn,direct(macOS/Linux)
方法二:永久写入环境变量(推荐长期使用)
运行 go env -w GOPROXY=https://goproxy.cn,https://gocenter.io,https://goproxy.io,direct。
【注意:必须包含 direct,否则私有仓库或本地模块会失效】
验证是否生效:执行 go env GOPROXY,应看到完整 URL 链,而非 https://proxy.golang.org。
执行安装并规避常见陷阱
第一步:新建项目目录并初始化模块mkdir myiris && cd myiris && go mod init myiris
第二步:明确指定 v12 分支安装go get github.com/kataras/iris/v12@latest
不要省略 /v12 后缀,否则会拉取已废弃的 v0.x 版本,导致 import 报错。
第三步:若仍失败,检查是否残留旧缓存
运行 go clean -modcache 清空整个模块缓存,再重试上一步。
【这一步不可跳过,尤其当你之前多次失败后又改了代理】
第四步:确认依赖已写入 go.mod
打开生成的 go.mod 文件,应包含类似这一行:github.com/kataras/iris/v12 v12.2.9(版本号可能不同)。











