必须启用Go Modules并配置代理:set GO111MODULE=on && set GOPROXY=https://mirrors.aliyun.com/goproxy(Windows),否则因golang.org域名解析失败导致假死;未装Git则报exec:"git"错误,需单独安装;Iris v12+强制要求模块模式,须在项目根目录执行go mod init并import github.com/kataras/iris/v12。

go get -u github.com/kataras/iris 卡在 downloading 状态
这不是网络慢,而是 go get 默认走 golang.org 域名,国内 DNS 解析失败或连接超时导致假死。你看到命令行停在 github.com/kataras/iris (download) 就不动了,大概率是卡在拉取 golang.org/x/net 这类子依赖上。
必须先启用 Go Modules 并指定代理,否则所有后续操作都无效:
-
set GO111MODULE=on(Windows)或export GO111MODULE=on(macOS/Linux) -
set GOPROXY=https://mirrors.aliyun.com/goproxy(Windows)或export GOPROXY=https://mirrors.aliyun.com/goproxy(macOS/Linux) - 这两条命令需在当前终端生效;若要永久生效,必须写入系统环境变量(Windows 系统属性 → 环境变量;macOS/Linux 编辑
~/.zshrc或~/.bash_profile)
执行 go get 后报错 exec: "git": executable file not found in $PATH
Go 的 go get 本质是调用 git 克隆仓库,不是纯下载。没装 Git 就会直接报这个错,和代理无关。
- Windows:去 git-scm.com 下载安装,默认勾选 “Add Git to PATH”
- macOS:运行
brew install git - Linux(Ubuntu/Debian):
sudo apt install git;CentOS/RHEL:sudo yum install git或sudo dnf install git - 验证:
git --version能输出版本号才算成功
go get 成功但 import "github.com/kataras/iris" 仍报错 undefined
常见于老项目未启用模块模式,或 GOPATH 模式下路径混乱。Iris v12+ 强制要求 Go Modules,GO111MODULE=off 时根本无法构建。
- 确认当前项目根目录下有
go.mod文件;没有就手动初始化:go mod init myproject - 不要把代码放在
$GOPATH/src下再用 GOPATH 模式跑——这是旧范式,和 Iris 不兼容 - 如果已有
go.mod但提示require github.com/kataras/iris缺失,补上后运行go mod tidy - VS Code 中若提示 “No packages found”,重启 Go 扩展或执行
Ctrl+Shift+P → Go: Restart Language Server
手动克隆 golang.org/x/ 子模块仍失败
有些企业网络连 GitHub 都限制,或 git clone 因证书/代理问题中断。此时不能硬等,得换源 + 指定分支。
- 进到
$GOROOT/src/golang.org/x/(注意是$GOROOT,不是$GOPATH) - 逐个执行(用 GitHub 镜像地址,带
.git后缀):git clone https://github.com/golang/net.gitgit clone https://github.com/golang/text.gitgit clone https://github.com/golang/crypto.git - 若提示 “destination path already exists”,先
rm -rf net text crypto再重试 - 克隆完别忘了
go mod vendor或go build触发依赖重解析
GO111MODULE 状态和当前工作目录是否含 go.mod ——这两者只要一个不满足,Iris 就不会被正确识别为模块依赖,后续所有报错都是表象。


















