go命令找不到的主因是PATH未生效或shell配置文件选错;macOS Catalina后默认zsh,应编辑~/.zshrc;需确认Go安装路径并添加/usr/local/go/bin和$GOPATH/bin到PATH,再source生效。

go命令找不到?先确认安装路径和shell类型
绝大多数“go: command not found”错误,不是没装Go,而是PATH没生效,或者改错了配置文件。macOS Catalina(10.15)之后默认用zsh,但很多人还习惯改~/.bash_profile,结果白配了。
- 先查当前shell:
echo $SHELL—— 输出/bin/zsh就编辑~/.zshrc;输出/bin/bash才动~/.bash_profile - 再确认Go是否真装上了:
ls /usr/local/go/bin/go(官方.pkg安装路径)或which go(Homebrew安装路径) - 如果
which go有输出但go version报错,大概率是PATH里漏了/usr/local/go/bin或/opt/homebrew/bin
用Homebrew还是.pkg?看你是要省事还是可控
Homebrew安装快、易升级,但GOROOT路径不直观(比如Apple Silicon上是/opt/homebrew/Cellar/go/1.22.4/libexec);官方.pkg路径固定、透明,但版本切换得重装。
- 推荐新手用.pkg:去golang.google.cn/dl/下载对应芯片的
.pkg(M1/M2/M3选darwin-arm64.pkg,Intel选darwin-amd64.pkg),双击安装完就放在/usr/local/go - 如果你已用Homebrew管理工具链,且常需换Go版本,装
g工具:brew install g,然后g install 1.20.14+g use 1.20.14即可秒切 - 别混用:同一台机器别既用.pkg又用
brew install go,容易PATH冲突、go env GOROOT指向混乱
GOPATH还要手动设吗?现代项目其实可以不管它
Go 1.16起默认启用Go Modules,go mod init后项目不再依赖GOPATH。但$GOPATH/bin仍用来存go install生成的可执行工具(比如gopls、dlv),所以这个目录仍得加进PATH。
- 只需设置:
export GOPATH=$HOME/go(路径可自定义,但别带空格或中文) - PATH里必须包含:
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin(或Homebrew路径) - 验证:
go env GOPATH应输出你设的路径;go env GOROOT应指向Go安装根目录,不用手改
国内网络下go mod拉包慢?必须配代理,否则寸步难行
不配GOPROXY,go get或go mod download基本卡死,尤其首次初始化项目时。这不是网速问题,是模块索引服务器被阻断。
立即学习“go语言免费学习笔记(深入)”;
- 一行命令永久生效:
go env -w GOPROXY=https://goproxy.cn,direct - 顺手关掉校验(避免sumdb失败):
go env -w GOSUMDB=sum.golang.google.cn - 验证是否生效:
go env GOPROXY应输出https://goproxy.cn,direct;再跑go mod download看是否飞快
最容易被忽略的是shell配置文件选错+PATH漏加$GOPATH/bin——前者导致命令根本找不到,后者导致go install装的工具无法全局调用。配完一定跑source ~/.zshrc再验证,别信“重启终端就自动加载”这种模糊说法。










