go mod 简单使用教程

go Modules—Modules是Go 1.11中新增的实验性功能,是一种新型的包管理工具。
具体操作:
首先要把go升级到1.11

升级后,可以设置通过一个环境变量GO111MODULE来激活modules:

export GO111MODULE=on //此时go会使用modules,而不会去GOPATH目录下查找。

一般默认情况是GO111MODULE=auto,此时go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:当前目录在GOPATH/src之外且该目录包含go.mod文件,或者当前文件在包含go.mod文件的目录下面。

GO111MODULE=off时,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。

当module功能启用时,GOPATH在项目构建过程中不再担当import的角色,但它仍然存储下载的依赖包,具体位置在$GOPATH/pkg/mod。

其次

假设有一个project命名为 helloworld;
1.初始化mod:

go mod init helloworld

初始化后系统会生成一个go.mod文件;然后执行go build,再次查看go.mod文件发现多了一些内容(依赖包列表以及版本),同时生成go.sum文件;go.sum是一个模块版本内容的校验值,用来验证当前缓存的模块。go.sum包含了直接依赖和间接依赖的包的信息,比go.mod要多一些。

2.常用指令

go mod tidy //拉取缺少的模块,移除不用的模块。
go mod download //下载依赖包
go mod vendor //将依赖复制到vendor下
go mod verify //校验依赖
go list -m -json all //依赖详情
go mod graph //打印模块依赖图

3.有一些包被墙了,拉不到,可以使用如下命令:

export GOPROXY=https://goproxy.cn

你可能感兴趣的:(go mod 简单使用教程)