为何使用Go需配置~/.bash_profile?Ubuntu下无需source即可用Go的方法
问题原因
你遇到的问题本质是环境变量加载时机的问题:
- 二进制安装Go时,你应该是把Go的可执行文件路径(比如
export PATH=$PATH:/usr/local/go/bin这类配置)写到了~/.bash_profile里。 - Ubuntu默认的bash终端在非登录模式下启动时,不会自动读取
~/.bash_profile,只会加载~/.bashrc。所以刚打开终端时系统找不到Go的命令;而source ~/.bash_profile是手动强制加载该文件里的环境变量,因此执行后就能正常使用Go了。
解决方法
以下两种方法任选其一即可:
方法1:将Go的环境变量移至~/.bashrc
- 打开终端,编辑
~/.bashrc文件:nano ~/.bashrc - 在文件末尾添加Go的环境变量配置(根据实际安装路径调整,通常是下面这行,需要GOPATH的话可一并添加):
export PATH=$PATH:/usr/local/go/bin export GOPATH=$HOME/go - 保存退出(nano编辑器中按
Ctrl+O回车确认保存,再按Ctrl+X退出)。 - 要么重启终端,要么执行
source ~/.bashrc让配置立刻生效,之后新开终端就能直接用go version等命令了。
方法2:让~/.profile自动加载~/.bash_profile
Ubuntu的登录shell会加载~/.profile,你可以在这个文件中添加配置,让它自动读取~/.bash_profile:
- 编辑
~/.profile文件:nano ~/.profile - 在文件末尾添加:
if [ -f ~/.bash_profile ]; then . ~/.bash_profile; fi - 保存退出后,重启系统或重新登录,之后终端就能自动加载Go的环境变量了。
内容的提问来源于stack exchange,提问作者Dika
相关产品推荐
相关产品推荐

