
在 macos 上通过终端临时设置的 gopath 和 path 会在新会话中丢失,需将其写入 shell 配置文件(如 ~/.bash_profile 或 ~/.zshrc)才能持久生效。
当你在终端中执行 export GOPATH=$HOME/go 和 export PATH=$PATH:$GOPATH/bin 时,这些环境变量仅对当前 Shell 进程及其子进程有效。一旦关闭终端或开启新窗口,Shell 会重新加载默认配置,而你未保存的 export 命令自然失效。
✅ 正确做法是将这两行添加到你的 Shell 启动配置文件中。macOS Catalina(10.15)及之后版本默认使用 Zsh,旧版本(如 10.8–10.14)多用 Bash。请先确认当前 Shell:
echo $SHELL
- 若输出 /bin/zsh:编辑 ~/.zshrc
- 若输出 /bin/bash:编辑 ~/.bash_profile(推荐优先使用此文件,因 macOS 对 Bash 用户默认加载它;~/.bashrc 在非交互式登录 Shell 中可能不被读取)
执行以下命令(以 Zsh 为例):
echo 'export GOPATH=$HOME/go' >> ~/.zshrc echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.zshrc source ~/.zshrc # 立即生效,无需重启终端
? 验证是否成功: echo $GOPATH # 应输出 /Users/yourname/go echo $PATH # 应包含 :/Users/yourname/go/bin go env GOPATH # Go 工具链也应识别该路径
⚠️ 注意事项:
- 不要同时在 ~/.bash_profile 和 ~/.zshrc 中重复设置,避免冲突;
- 修改后务必运行 source [配置文件] 使更改立即生效;
- 如果使用 VS Code 等 IDE,请重启终端集成窗口(或整个 IDE),否则其内置终端可能仍缓存旧环境;
- Go 1.16+ 默认启用模块模式(GO111MODULE=on),但 GOPATH 仍影响 go install、工具安装(如 gopls)及传统工作区行为,建议保持合理配置。
完成上述步骤后,无论新开多少个终端窗口,GOPATH 和 go 可执行文件路径都将稳定可用。










