GOPATH
GOPATH 是 Go 语言的工作目录,它的值可以是一个目录路径,也可以是多个目录路径,每个目录都代表 go 语言的一个工作区。
我们开发 Golang 项目时,需要依赖一些别的代码包,这些包的存放路径就与 GOPATH 有关。
在 v1.11 版本之前,所有的代码包都要放到 $GOPATH/src
目录下,那个时候 go 官方还没有支持依赖管理,包括我们自己项目的代码,依赖的代码包,都被放到这个路径下,十分混乱,不利于管理。
而在 v1.11 之后,官方终于支持了包管理,除了能够自动下载依赖包,项目也不再需要放到 $GOPATH/src
下了,项目中会维护一个 go.mod
的文件记录依赖包及其版本,所有依赖的代码包都被放到了 $GOPATH/pkg/mod
下了,src
目录不复存在。
go mod 配置
- 首先开启 go module (go 1.11以上)
go env -w GO111MODULE=on - 配置goproxy: (go module 的包国内代理地址)
export GOPROXY=https://goproxy.cn // macOS 或 Linux
go env -w GOPROXY=https://goproxy.cn,direct // Windows
direct的解释:https://blog.csdn.net/weixin_31614235/article/details/112099136
Go 1.13设置了默认的GOSUMDB=sum.golang.org,是用来验证包的有效性。这个网址由于墙的原因可能无法访问,所以可以使用下面命令来关闭:
export GOSUMDB=off // macOS 或 Linux
go env -w GOSUMDB=off // Windows