go version报错说明path未正确配置或go二进制未放入系统路径:需确认/usr/local/go/bin是否加入shell配置文件(~/.zshrc或~/.bashrc),执行source生效,并确保go env -w go111module=on及goproxy=https://goproxy.cn,direct已设置。

go version 命令报错或不识别
说明 PATH 没配对,或者 go 二进制根本没放进系统路径。Linux 下最常踩的坑是:只改了 ~/.bashrc 却用 zsh 终端登录,或者改完没 source。
- 先确认 go 是否真的解压到了
/usr/local/go:ls /usr/local/go/bin/go - 再检查当前 shell 配置文件(
echo $SHELL)—— bash 用户改~/.bashrc,zsh 用户改~/.zshrc - 追加这行:
export PATH=$PATH:/usr/local/go/bin,然后运行source ~/.bashrc(或对应文件) - 别漏掉
go env -w GO111MODULE=on,否则新项目默认不走模块,go get会失败
git clone 后 go build 报 “cannot find module”
这是 GOPATH 模式残留问题。Go 1.16+ 默认启用模块(module),但如果你在 $GOPATH/src 下直接 clone,又没初始化模块,就会触发旧路径查找逻辑。
- 进到项目根目录后,立刻执行:
go mod init example.com/yourproject(模块名可任意,但建议符合域名格式) - 如果项目已有
go.mod但拉不下来依赖,大概率是代理没设:go env -w GOPROXY=https://goproxy.cn,direct -
git clone前不用手动建$GOPATH/src目录——模块模式下,项目可以放在任意位置,只要顶层有go.mod
go get 安装工具时卡住或超时
不是网络问题就是代理配置没生效。国内用户几乎必配代理,且必须是 go env -w 写入的,临时 export 不影响 go get 行为。
- 验证代理是否生效:
go env GOPROXY应输出类似https://goproxy.cn,direct - 如果用的是企业私有代理(如 Artifactory),确保 URL 后带
,direct,否则私有包无法 fallback - 安装常用工具推荐用
@latest显式指定版本:go install golang.org/x/tools/gopls@latest - 注意:这些工具会装进
$GOPATH/bin或$GOBIN,确保该路径也在PATH里,否则命令找不到
VS Code 提示 “dlv not found” 或调试失败
不是插件没装,而是调试器二进制缺失。Go 扩展会尝试自动下载 dlv,但国内网络常失败,得手动装。
- 先运行:
go install github.com/go-delve/delve/cmd/dlv@latest - 再检查是否在
PATH中:which dlv,输出应类似/home/xxx/go/bin/dlv - VS Code 的 Go 扩展设置里,把
"go.toolsGopath"设为你的$GOPATH,否则它可能去错地方找dlv - 如果用了非默认 shell(比如 fish),VS Code 可能读不到
~/.bashrc里的环境变量,需在 VS Code 设置里显式指定 shell 路径
go mod download 和 dlv version 验证。golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











