Go命令未找到需先确认shell类型(zsh或bash),对应编辑~/.zshrc或~/.bash_profile,添加/usr/local/go/bin和$GOPATH/bin到PATH,并source生效;推荐.pkg安装初学者用,brew适合多版本管理;务必配置GOPROXY=https://goproxy.cn,direct及GOSUMDB;调试工具dlv等需确保$GOPATH/bin在PATH中。

go command not found?先确认 shell 类型和配置文件写对了
Mac 默认用 zsh,但如果你升级过系统、或手动改过 shell,echo $SHELL 可能输出 /bin/bash。很多人装完 Go 还是报 command not found: go,就是因为往 ~/.zshrc 里加了路径,却在 bash 下测试——或者反过来。
- 运行
echo $SHELL,看输出是/bin/zsh还是/bin/bash - 对应编辑:
~/.zshrc(zsh)或~/.bash_profile(bash) - 别只加
/usr/local/go/bin,漏掉$GOPATH/bin会导致dlv、gopls等工具找不到命令 - 加完必须执行
source ~/.zshrc(或对应文件),否则不生效;新开终端也行,但别跳过这步
pkg 安装还是 brew install?看你要不要多版本管理
官方 .pkg 安装包适合初学者或需要稳定版本的场景:双击安装后自动把 /usr/local/go/bin 加进 PATH,并设好 GOROOT;Homebrew 更适合常需切换 Go 版本、或用 brew bundle 统一管理工具链的开发者。
-
.pkg:去 https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd 下载,务必选对架构——M1/M2/M3 芯片选darwin-arm64.pkg,Intel 芯片选darwin-amd64.pkg;错配会报bad CPU type in executable -
brew install go:不会自动写入 shell 配置,go version可能报错;Homebrew 安装路径是/opt/homebrew/bin/go(Apple Silicon)或/usr/local/bin/go(Intel),不是/usr/local/go - 覆盖安装新版
.pkg不影响已有GOPATH和模块缓存;Homebrew 升级则可能重置某些环境变量
go mod tidy 卡住不动?90% 是 GOPROXY 没配
国内直连 proxy.golang.org 基本超时或返回 403,这不是网络问题,是 Go 模块生态默认依赖境外基础设施。不配代理,go get、go mod download 就卡在 Fetching github.com/xxx。
- 立刻执行:
go env -w GOPROXY=https://goproxy.cn,direct - 顺手加上:
go env -w GOSUMDB=sum.golang.google.cn(避免校验失败) - 验证:
go env GOPROXY应输出https://goproxy.cn,direct - 公司内网可换自建地址,比如
http://athens.company.local;别用off,除非你完全离线且信任所有依赖
go run main.go 成功了,但 dlv 调试失败?检查 $GOPATH/bin 是否进 PATH
VS Code 的 Go 插件首次打开 .go 文件时,会提示安装 gopls、dlv、goimports 等工具。这些工具由 go install 编译到 $GOPATH/bin,如果该路径没进 PATH,调试器就启动不了,报错可能是 command not found: dlv 或 “Could not launch process: fork/exec … no such file or directory”。
立即学习“go语言免费学习笔记(深入)”;
- 确保
~/.zshrc中有这两行:export GOPATH=$HOME/go和export PATH=$PATH:$GOPATH/bin - 验证:
ls $GOPATH/bin/dlv应存在;which dlv应输出类似/Users/xxx/go/bin/dlv - 如果仍不行,重启 VS Code(不只是 reload window),它有时会缓存旧的 PATH
最容易被忽略的其实是芯片架构错配 + shell 配置没重载 + GOPROXY 漏设——三者任一出问题,都会让环境“看起来装好了”,实则跑不起来模块、装不了工具、调不了试。










