验证Go安装成功需依次执行:1. go version输出正确版本;2. go env确认GOROOT指向安装路径、GO111MODULE=on、GOPROXY已设国内镜像;3. go run hello.go输出“Hello, Go!”;4. go mod init与go list验证模块系统正常。

go 环境现在装对了,后续项目才不会卡在 go mod download 失败、gopls 启动不了、或者 go run 报 cannot find module 上。
怎么验证 go 是否真装好了,而不是“看起来能用”
很多人的go version 能跑通,但一建项目就出错,问题往往出在环境变量没生效或版本冲突。
- 执行 go env,重点看三行:
GOROOT 应指向实际安装路径(如 /usr/local/go 或 C:\Program Files\Go)
GO111MODULE 必须是 on(Go 1.16+ 默认开启,但旧 shell 可能缓存旧值)
GOPROXY 建议设为国内镜像,否则 go get 会超时
- 如果 GOROOT 是空的,说明 PATH 没配对,或者系统里有多个 Go(比如 brew 装过又手动装过)
- 在新终端里重试,别信“刚 source 过 ~/.bashrc 就万事大吉”,macOS 的 GUI Terminal、Windows 的 VS Code 终端常不读 shell 配置
Linux/macOS 下 PATH 和 GOROOT 别靠猜
手动解压.tar.gz 安装时,GOROOT 和 PATH 必须严格匹配:
- 解压到 /usr/local/go,那就必须写 export GOROOT=/usr/local/go
- PATH 必须包含 $GOROOT/bin,不能只写 /usr/local/go/bin(硬编码易出错)
- 不要同时设 GOBIN,除非你明确要分离 go install 输出路径;默认用 $GOPATH/bin 即可
- GOPATH 在 Go Modules 时代已非必需,但如果你用 go install 装工具(如 dlv),它仍决定二进制存放位置;建议设为 ~/go 并加入 PATHWindows 上 .msi 安装后还要手动改 GOPROXY
.msi 安装器会自动配好 PATH 和 GOROOT,但默认 GOPROXY 是空的:
- 运行 go env -w GOPROXY=https://goproxy.cn,direct(国内推荐)
- 如果公司有私有代理(如 Artifactory),把地址换成 https://your-company.com/artifactory/golang-proxy
- direct 必须保留,它是兜底机制:当代理返回 404 时,go 会退回到直连官方源
- 不要用 setx 改系统环境变量来设 GOPROXY,优先用 go env -w,它写入的是 Go 自己的配置文件,跨终端一致
VS Code 里 gopls 总报 “no modules found” 怎么办
这不是编辑器问题,而是项目根目录没识别到 Go Module: - 确保你在项目目录下执行过go mod init example.com/myapp(模块名不一定要真实可访问)
- 目录里要有 go.mod 文件,且不是空的;如果只有 go.sum,说明 go mod tidy 没成功运行过
- 关闭 VS Code,删掉 go.mod 和 go.sum,重新 go mod init + go mod tidy
- 如果项目在 ~/Desktop 或 C:\Users\Name\Downloads 这类非标准路径,gopls 可能因权限或路径含空格失败;换到 ~/go/src 或 C:\work 试试
真正麻烦的不是装 Go,而是让 go、go mod、gopls 和你的终端/IDE 对上同一套环境变量和模块上下文。多查一次 go env,比反复重装省半小时。


















