
在 macos 上通过安装包安装 go 后,临时设置的 gopath 和 path 会在新终端会话中丢失;需将导出语句写入 shell 配置文件(如 ~/.bash_profile 或 ~/.zshrc)才能持久生效。
这是因为 export 命令仅在当前 Shell 进程中生效,关闭终端后环境变量即被丢弃。要实现永久配置,必须将环境变量声明添加到 Shell 的启动配置文件中。
macOS Catalina(10.15)及更新版本默认使用 Zsh 作为登录 Shell,因此推荐优先修改 ~/.zshrc;若仍使用 Bash(如旧系统或手动切换),则应编辑 ~/.bash_profile(注意:~/.bashrc 在 macOS 的交互式非登录 Shell 中可能不会自动加载,而 ~/.bash_profile 更可靠)。
✅ 正确操作步骤如下:
-
打开终端,确认当前 Shell:
echo $SHELL
若输出为 /bin/zsh,编辑 ~/.zshrc;若为 /bin/bash,编辑 ~/.bash_profile。
-
使用文本编辑器追加配置(以 Zsh 为例):
echo 'export GOPATH=$HOME/go' >> ~/.zshrc echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.zshrc
-
立即加载新配置:
source ~/.zshrc
-
验证是否生效:
echo $GOPATH # 应输出 /Users/yourname/go echo $PATH | grep go # 应包含 /Users/yourname/go/bin go env GOPATH # 推荐用此命令验证 Go 工具链识别的 GOPATH
⚠️ 注意事项:
- 不要重复添加相同行,建议先检查配置文件是否已存在相关 export 语句,避免冗余或冲突;
- 修改后务必执行 source 命令,否则仅对后续新打开的终端生效;
- 自 Go 1.16 起,模块模式(GO111MODULE=on)已默认启用,但 GOPATH 仍影响 go install 的二进制存放位置及传统工作区行为,合理配置仍有必要;
- 若使用 Oh My Zsh 等框架,确保 ~/.zshrc 末尾未被覆盖或重置。
完成上述配置后,所有新启动的终端都将自动继承正确的 GOPATH 和 PATH,Go 工具链也能正确识别工作区与可执行文件路径。










