配置Golang环境变量是使用Go语言进行开发的前提,其中GOROOT和GOPATH是两个必须正确设置的核心变量,二者作用不同,配置逻辑也存在差异。

GOROOT与GOPATH的区别
首先要明确两个变量的定位:
- GOROOT:Go语言的安装根目录,里面包含Go的标准库、编译器、工具链等核心文件,安装Go时会自动生成该目录,通常不需要手动修改。
- GOPATH:Go项目的工作目录,用于存放你编写的Go源码、第三方依赖包以及编译后的可执行文件,早期Go版本要求必须配置,Go 1.11之后引入Go Module机制后不再是强制要求,但部分旧项目或工具仍依赖该配置。
Windows系统配置方法
步骤1:确认Go安装路径
默认安装情况下,Go会安装在C:Go目录,如果你自定义了安装路径,需要记住该路径,比如D:Program FilesGo。
步骤2:配置GOROOT
右键点击「此电脑」选择「属性」,进入「高级系统设置」,点击「环境变量」按钮:
- 在「系统变量」区域点击「新建」,变量名填写
GOROOT,变量值填写Go的安装路径,比如C:Go - 找到系统变量中的
Path变量,点击「编辑」,新建一条记录,填写%GOROOT%bin,这样就能在命令行直接调用go命令
步骤3:配置GOPATH
同样在「系统变量」区域点击「新建」:
- 变量名填写
GOPATH,变量值可以自定义为你的工作目录,比如D:go_workspace - 该目录下会自动生成三个子目录:
src存放源码,pkg存放编译后的包文件,bin存放编译后的可执行文件
步骤4:验证配置
打开新的命令行窗口,执行以下命令验证:
# 查看GOROOT配置 go env GOROOT # 查看GOPATH配置 go env GOPATH # 查看go版本,验证命令是否可用 go version
如果输出的路径和版本信息正确,说明配置成功。
macOS系统配置方法
步骤1:确认Go安装路径
如果是通过官网pkg包安装,默认路径是/usr/local/go,如果是通过Homebrew安装,路径通常是/opt/homebrew/Cellar/go/版本号/libexec。
步骤2:修改shell配置文件
macOS默认shell是zsh,配置文件是~/.zshrc,如果是bash则修改~/.bash_profile:
打开配置文件,添加以下内容:
# 设置GOROOT,替换为你的实际安装路径 export GOROOT=/usr/local/go # 将go命令加入PATH export PATH=$PATH:$GOROOT/bin # 设置GOPATH,替换为你的自定义工作目录 export GOPATH=$HOME/go_workspace # 将GOPATH的bin目录加入PATH,方便执行编译后的程序 export PATH=$PATH:$GOPATH/bin
保存后执行source ~/.zshrc让配置生效。
步骤3:验证配置
打开新的终端窗口,执行和Windows相同的验证命令,确认输出正确即可。
Linux系统配置方法
步骤1:确认Go安装路径
通过二进制包安装的话,默认解压路径是/usr/local/go,如果是包管理器安装,路径可能不同,可以通过which go命令查找go可执行文件位置,反推GOROOT路径。
步骤2:修改shell配置文件
如果是bash用户,修改~/.bashrc,如果是zsh用户修改~/.zshrc:
添加以下内容:
# 设置GOROOT,替换为实际路径 export GOROOT=/usr/local/go # 加入PATH export PATH=$PATH:$GOROOT/bin # 设置GOPATH export GOPATH=$HOME/go_workspace # 加入GOPATH的bin目录 export PATH=$PATH:$GOPATH/bin
保存后执行source ~/.bashrc或者source ~/.zshrc生效。
步骤3:验证配置
执行和前面系统相同的验证命令即可。
常见配置问题
- 如果执行
go env GOROOT输出为空,说明GOROOT没有正确配置,检查变量名是否拼写正确,路径是否存在 - 如果
go命令提示找不到,说明%GOROOT%bin或者$GOROOT/bin没有加入PATH变量 - Go 1.11及以上版本建议开启Go Module,执行
go env -w GO111MODULE=on,此时GOPATH不再是项目依赖的必须配置,仅在需要存放全局工具时配置即可