1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
module xx/xx/xx/v2 go 1.16 require ( xx/xx/xx v1.3.3 xx/xx/xx v0.0.0-20200330080233-e4ea8bd1cbed xx/xx/xx v2.2.1+incompatible xx/xx/xx v0.3.0 // indirect ) exclude ( xx/xx/xx v1.3.3-rc.0 ) replace xx/xx/xx => xx/xx v1.3.3 retract ( v1.0.0 // 废弃的版本,请使用v1.1.0 ) |
module xx/xx/xx/v2是指该项目的module路径,/v2是指版本信息,可以省略。
go 1.16是指项目需要的最低go的版本
require()是项目需要的其他依赖:
exclude()指引用依赖时,跳过某些版本
replace xx/xx/xx => xx/xx v1.3.3指替换某些依赖
retract()声明废弃的版本
go get xx/xx/x@${parameter}
${parameter}可以选择的参数如下:
go mod tidy 根据go.mod文件添加或者删除项目所需要的依赖
go get -u xx/xx/x
这个操作会升级依赖的依赖,有可能会引发依赖版本不兼容问题导致的编译不通过,比如thrift的0.13与0.14不兼容。
循环依赖问题:
要注意避免循环依赖问题。