前言
随着工作中使用go语言的机会越来越多,也越来越觉得对语言所在环境变量设置的重要性
一、什么是go语言的环境变量?
go语言环境变量是为了控制go语言的编译、运行和包管理等功能的配置信息。通过go env命令查看和修改。
二、环境信息
- 发行版信息
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04 - go语言版本 go1.20.5 linux/amd64
1.所有go环境变量的展示
1.1通用环境变量(General-purpose environment variables)
-
GO111MODULE
是否使用go mod 作为包管理工具,其值可以是"off",“on"或者"auto”。 -
GCCGO
指定编译器为gccgo,用于生成与gcc兼容的二进制文件,如果使用该命令需要在操作系统上安装gcc和gccgo,然后使用go build -compiler=gccgo -o hello-world hello.go来编译hello.go文件,使用-o 来指定输出的文件名称 -
GOARCH
用于指定编译出的go程序运行在指定硬件平台,其值可以是amd64, 386, arm, ppc64等。 -
GOBIN
指定go install 命令安装的程序位置 -
GOCACHE
指定go语言编译和测试过程中的缓存文件存放位置 -
GOMODCACHE
go 命令下载的包缓存存放位置 -
GODEBUG
启用各种调试功能,GODEBUG参数详情 -
GOENV
golang环境变量配置文件位置 -
GOINSECURE
用于指定哪些域名下的仓库不去校验CA证书。使用方式如下
go env -w GOINSECURE=private.repo.com,another.repo.com -
GOOS
编译代码的操作系统。常见的 linux, darwin, windows, netbsd. -
GOPATH
工作目录 -
GOPROXY
代理服务器,用于下载第三方包 -
GOPRIVATE, GONOPROXY, GONOSUMDB
大多情况下用于禁用第三方库的校验。 -
GOROOT
go安装位置 -
GOSUMDB
GOSUMDB是一个用于指定校验服务器和公钥的环境变量,它可以让go命令在下载模块时验证模块的校验值,以保证模块的完整性和安全性。 -
GOTMPDIR
指定了go命令将写入临时源文件、包和二进制文件的目录。 -
GOVCS
指定版本控制系统 -
GOWORK
gowork的使用方法是一个关于Go语言中的一个新特性,它可以让你在一个工作空间中管理多个模块,而不需要使用replace指令或者修改go.mod文件。
总结
本篇文章对一些常用的go环境变量做一个简要的说明。