介绍
- Go 有很多配置, 可以通过环境变量指定. 也可以使用默认值. 通过
go env
命令查看默认值. -
GOROOT
和GOPATH
是必须要指定的.
常用的配置
GOROOT, GOPATH 和 GOTOOLDIR
-
GOROOT
是安装路径. 通常是/usr/local/go
. -
GOPATH
是下载包的存储路径. 通常是~/go
. -
GOTOOLDIR
是 Go 工具的路径. 通常是$GOROOT/bin
.
GO111MODULE
-
GO111MODULE
指定是否使用module
, 建议设置为on
.
GOPROXY
设置 Go 代理.
后面会详述.
GOMOD
- go.mod 文件路径.
GOPROXY详解
go get
等指令会拉取远程包, 这个远程包会通过GOPROXY
指定的代理来获取.例如:
go get github.com/ame-lm/hi
, 首先会请求$GOPROXY/github.com/ame-lm/hi
, 然后远端代理返回信息, 告诉本地应该解析成https://github.com/ame-lm/hi
, 然后本地再继续请求https://github.com/ame-lm/hi
.也就是说无论是不是从
golang.org
这个官方站点拉取包, 都需要走$GOPROXY
.golang.org
站点和$GOPROXY
是独立的, 并无关系.GOPROXY
默认值https://proxy.golang.org
在国内正常情况下是走不通的, 需要更换国内代理, 例如:https://goproxy.io
.设置
GOPROXY
之后, 就可以通过go get github.com/ame-lm/hi
拉取到对应的 github 上的包了.
有疑问加站长微信联系(非本文作者)