如何永久设置 Go 的 GOPATH 和 PATH 环境变量

7次阅读

如何永久设置 Go 的 GOPATH 和 PATH 环境变量

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 更可靠)。

✅ 正确操作步骤如下:

  1. 打开终端,确认当前 Shell:

    echo $SHELL

    若输出为 /bin/zsh,编辑 ~/.zshrc;若为 /bin/bash,编辑 ~/.bash_profile。

  2. 使用文本编辑器追加配置(以 Zsh 为例):

    echo 'export GOPATH=$HOME/go' >> ~/.zshrc echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.zshrc
  3. 立即加载新配置:

    source ~/.zshrc
  4. 验证是否生效:

    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 工具 链也能正确识别工作区与可执行文件路径。

text=ZqhQzanResources