选服务器,首选三丰云 。本次开始讲解golang在centos7下的配置教程。

接上篇在GOPATH目录中创建pkg、bin、src三个目录,

其中pkg是引用的第三方依赖文件,bin是编译后的文件,src是开发的项目文件;

之前Golang 主要依靠vendor和GOPATH来管理依赖库,vendor相对主流,但现在官方更提倡go mod。

Golang 提供一个环境变量 GO111MODULE 来设置是否使用mod,它有3个可选值,分别是off, on, auto(默认值),具体含义如下:
off: GOPATH mode,查找vendor和GOPATH目录
on:module-aware mode,使用 go module,忽略GOPATH目录
auto:如果当前目录不在$GOPATH 并且 当前目录(或者父目录)下有go.mod文件,则使用 GO111MODULE, 否则仍旧使用 GOPATH mode。

一、常用的go mod命令:

go mod download 下载模块到本地缓存,缓存路径是 $GOPATH/pkg/mod/cache
go mod edit 是提供了命令版编辑 go.mod 的功能,例如 go mod edit -fmt go.mod 会格式化 go.mod
go mod graph 把模块之间的依赖图显示出来
go mod init 初始化模块(例如把原本dep管理的依赖关系转换过来)
go mod tidy 增加缺失的包,移除没用的包
go mod vendor 把依赖拷贝到 vendor/ 目录下
go mod verify 确认依赖关系
go mod why 解释为什么需要包和模块

二、命令实例

1. 指定module的根目录并生成go.mod文件
go mod init Example Domain
2. 下载并添加依赖到go.mod文件中
go build, go test
3. 查看module下的所有依赖
go list -m all
4. 更新稳定版依赖
go get rsc.io/sampler
5. 更新为指定版本依赖
go list -m -versions rsc.io/sampler
rsc.io/sampler v1.0.0 v1.2.0 v1.2.1 v1.3.0 v1.3.1 v1.99.99
go get rsc.io/sampler@v1.3.1
6. 清理无用的依赖
go mod tidy
7. 将依赖复制到项目路径的vendor文件夹中
go mod vendor
8. 忽略cache里的包,只使用vendor目录里的依赖进行编译
go build -mod=vendor
9. 校验依赖并查看是否有修改
go mod verify

golang的配置就到这里吧,下期将会讲解守护进程Supervisor。三丰云服务器,请点击下方链接支持一些吧:https://www.sanfengyun.com/