Go env环境变量配置

set GO111MODULE=on
# 编译目标的指令集架构为 64位 x86架构
set GOARCH=amd64
# 存放go编译安装可执行二进制文件的地方
set GOBIN=A:\Go\bin
set GOCACHE=C:\Users\11540\AppData\Local\go-build
set GOENV=C:\Users\11540\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=A:\goData\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
# 编译目标系统
set GOOS=windows
set GOPATH=A:\goData
set GOPRIVATE=
set GOPROXY=https://goproxy.cn,direct
set GOROOT=A:\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=A:\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.19
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set GOWORK=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=C:\Users\11540\AppData\Local\Temp\go-build1999809709=/tmp/go-build -gno-record-gcc-switches

可以用 go env 查看当前的go环境变量,如下图所示:image.png

GO111MODULE

go module是go官方自带的go依赖管理库,在1.13版本正式推荐使用。默认值为空,即go判断开不开启module的依据是看当前项目的根目录下有没有go.mod文件,当然我们也可手动更改为 on(全部开启)/off(全部不开启,不建议):

go env -w GO111MODULE=on

GOPROXY

GOPROXY 就是设置Golang的全局代理。在下载依赖包的时候,一般是访问github的仓库,国内的环境很容易被墙,所以最好设置一个速度快的代理。Go在此版本中GOPROXY的默认值为https://proxy.golang.org,国内是无法访问的。因此,这里推荐使用七牛云的代理https://goproxy.cn

go env -w GOPROXY=https://goproxy.cn,direct

GOPATH

在go 1.11版本之前,GOPATH主要用于指定我们的开发工作区(Workspace),是存放源代码、测试文件、库静态文件、可执行文件的目录。但是自从go 1.11引入module功能之后,GOPATH的作用就不大了。目前在go module模式下,使用go get下载的外部依赖模块就位于$GOPATH/pkg/mod目录下。而因为GOPATH的默认值为C:\Users\%UserName%\go,所以下载的外部依赖包也就存放在C盘下面。如果怕之后安装的依赖包太多占用C盘空间的话,我们可以更改GOPATH到其他位置,比如设置为go的安装目录下面:

go env -w GOPATH=D:\Golang1.19\gopath

GOMODCACHE

即存储go下载的外部依赖模块文件的目录,默认值为$GOPATH/pkg/mod,因此我们一般只需要更改GOPATH的值即可,此环境变量的值就会自动做出相应的变动。当然你也可以设置为其他值。

GOCACHE

此目录存放go项目在构建过程中产生的缓存,默认值为C:\Users\%UserName%\AppData\Local\go-build,我们也可以更改为其他值,比如设置到GOPATH目录下:

go env -w GOCACHE=D:\Golang1.19\gopath\go-build-cache

GOENV

此目录存放go环境变量的值的配置文件,默认值为C:\Users\%UserName%\AppData\Roaming\go\env,此值一般不需要更改,并且也不能通过go env的方式来更改此变量值。我们可以来到此目录下,发现有一个env文件,打开就可以看到文件的内容就是我们之前自定义过的go环境变量的值:

image.png

GOROOT

即go语言的安装目录,此值切记不要修改,保持默认值即可。如果乱改了,然后发现无法在控制台中使用go命令了,可以打开上一条中提到的env配置文件,删除自己自定义的值,即可恢复GOROOT为默认值。

其他相关命令

// 打印指定go环境变量的值
go env $Variable_Name
// 将指定go环境变量的值重设为默认值
go env -u $Variable_Name

关于系统环境变量

在go语言的安装过程中,安装程序会自动将$Go_Installation_Directory\bin加入到系统环境变量的Path里面,比如D:\Golang1.19\bin,这样就方便我们可以直接在CMD里面使用go的相关命令。除此之外,我们一般就不需要在系统环境变量里为go配置任何东西了,因为其他的一些go环境变量都可以通过go env来配置。

参考文档:Go env环境变量配置

Go语言GOPATH详解(Go语言工作目录)

go
作者:|Architecture|,原文链接: https://segmentfault.com/a/1190000043554840

文章推荐

python mitmproxy抓包库

k8s资源对象(二)

Node + Express 后台开发 —— 上传、下载和发布

一篇文章搞定什么是nodeJs它和NPM关系与应用

Snort的安装——Fedora

linux安装tomcat,mysql

解决Kibana(OpenSearch)某些字段无法搜索问题

vue自定义密码输入框解决浏览器自动填充密码的问题

ChatGPT搭建AI网站实战

滴滴前端一面常考vue面试题(持续更新中)

Java零基础学习的点点建议

linux挂载新硬盘并进行分区格式化