必须先配置好Go环境才能运行代码;需验证go version、正确设置GOROOT和PATH、避免GOPATH路径冲突、显式启用GO111MODULE、配置国内GOPROXY代理,并用go env -w固化环境变量。

Go语言环境搭建不是“学习路径中的某个阶段”,而是你敲下第一行 package main 之前必须完成的前置动作——它不靠后,也不可跳过;没配好,go run 直接报错,连 hello world 都跑不起来。
刚装完 go.exe 就报 command not found?检查 PATH 和 GOROOT
这是 Windows/macOS/Linux 新手最常卡住的第一步。不是 Go 没装好,而是系统根本找不到 go 命令。
-
go version执行失败 → 先确认GOROOT是否指向你的 Go 安装根目录(如C:\Program Files\Go或/usr/local/go) - 确认
%GOROOT%\bin(Windows)或$GOROOT/bin(macOS/Linux)已加入PATH环境变量 - 别依赖安装器“自动配置”:MSI 安装包在 Win10/Win11 上有时漏写
PATH,手动补上更稳 - 执行
echo $PATH(macOS/Linux)或path(Windows cmd)验证go所在路径是否真在里面
为什么 go mod init 失败,提示 “cannot determine module path”?GOPATH 已不是强制项,但工作目录仍需合规
Go 1.14+ 默认启用 GO111MODULE=on,此时 GOPATH 不再决定项目位置,但你当前目录必须满足两个隐性条件:
- 不能是
$GOPATH/src下的子目录(否则 Go 会尝试用旧 GOPATH 模式,冲突) - 目录名不能含空格、中文、特殊符号(比如
我的第一个go项目→my-first-go-project) - 运行
go mod init myapp时,模块名建议用纯小写字母+短横线,避免后续 import 出问题 - 如果仍失败,先执行
go env -w GO111MODULE=on显式开启模块模式
国内下载 go get 或 go install 卡住?代理配置不是可选项,是必填项
默认 GOPROXY=https://proxy.golang.org 在国内无法访问,所有依赖拉取都会超时或 403。
立即学习“go语言免费学习笔记(深入)”;
- 立刻执行:
go env -w GOPROXY=https://goproxy.cn,direct - 验证是否生效:
go env GOPROXY应输出https://goproxy.cn,direct - 别只改 shell 配置文件(如
.zshrc):Go 的env -w是写入 Go 自己的配置,优先级更高 - 若公司内网禁外网代理,可临时设为
go env -w GOPROXY=off,但需手动git clone到$GOPATH/src(仅限极少数封闭环境)
真正容易被忽略的点是:VS Code 的 Go 插件(如 gopls)启动时会读取当前 shell 的环境变量,但 GUI 启动的 VS Code 可能没继承你终端里设置好的 GOPROXY 或 GO111MODULE —— 最稳妥的做法是全部用 go env -w 写死,而不是靠 shell 配置。否则你会看到插件反复提示 “Failed to install tools”,却查不出原因。


















