go mod的使用
一、介绍
- 是一种依赖版本管理方式
- 估计 go 之后的版本都是用 go mod 来管理了,gopath 模式会被淘汰
二、常用命令
2.1、go mod help
查看帮助
2.2、go mod init<项目模块名称>
-
初始化模块,会在项目根目录下生成 go.mod 文件。
-
这里为了测试,我们先删掉go.mod 文件
go mod init test
2.3、go get
- 增加(下载)依赖
- 切换依赖版本
2.3.1、 增加(下载)依赖
go get -u go.uber.org/zap
使用(新的项目)
package main
import "go.uber.org/zap"
func main() {
logger, _ := zap.NewProduction()
logger.Warn("测试错误消息")
}
当我们使用的时候,go-mod会发生变化
2.3.2、 切换版本
将 go.uber.org/zap v1.16.0 版本 改为 v1.12.0
go get -u go.uber.org/zap@v1.12.0
注意:@v1.12.0
2.4、go mod tidy
go mod tidy
根据 go.mod 文件来处理依赖关系。
2.5、 go mod vendor
- 将依赖包复制到项目下的 vendor 目录。
- 建议一些使用了被墙包的话可以这么处理,方便用户快速使用命令 go build -mod=vendor 编译.
2.6、 go list -m all
显示依赖关系。
2.7、 go list -m -json all
显示详细依赖关系。
2.7、 go mod download
- 下载依赖。
- 参数是非必写的,path 是包的路径,version 是包的版本。