什么是Go mod? go mod是Go语言的模块管理工具,可用来代替传统的GOPATH。
go mod和GOPATH的区别有哪些?
注: 要使用go mod,必须将golang升级到1.11版本以上
一、安装与部署
1、首先查看go版本,执行命令如下:
2、配置开启go mod,执行命令如下:
go env -w GOBIN=/usr/local/go/bin #配置下go bin
go env -w GO111MODULE=on #开启go mod
go env -w GOPROXY=https://goproxy.cn,direct #七牛云代理
GO111MODULE有三个值:off, on和auto(默认),说明如下:
3、查看配置后的环境变量信息,如图:
4、查看go mod的常用命令如下:二、通过go mod管理项目
1、首先在服务器上任意位置创建演示项目demo,如下:2、进入项目demo中,初始化项目,如图:从上图看出,初始化后,在项目目录下生成了go.mod文件,文件内容包含模块名和go的版本信息
3、创建演示文件,内容如下:
从上图看出,此文件中引用了web框架gin,但是目前机器中还没有此包,如果不通过go mod管理依赖,会提示使用go get下载包,如图:如果一个项目中有多个依赖,那么每个依赖都要手动执行一次go get去慢慢下载,很浪费时间和精力,此时可以通过go mod来管理是最佳的,我们此时可以执行命令go mod tidy,如图:从上图可以看出,依赖包都已经下载完成,查看go.mod文件中也可以看到相关依赖,此时在执行便不会提示缺少依赖,如图:
如果仔细看项目路径下还可以看到go.sum文件,这个文件是干嘛的呢?由于考虑下载的依赖包有可能被恶意篡改,只有一个go.mod无法保证数据的一致性,因此引入了go.sum文件,用于记录每个包的哈希值,在构建的时候,如果本地的依赖包的哈希值与go.sum中的记录纸不一致,那么将拒绝构建。
欢迎加入我们的 交流群 一起讨论,