Golang
主页 > 脚本 > Golang >

一文详解go mod依赖管理

2022-07-31 | 酷站 | 点击:

1. go的依赖管理发展

2. go.mod 文件分析

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()声明废弃的版本

3. go mod依赖下载工具

go get xx/xx/x@${parameter}

${parameter}可以选择的参数如下: 

go mod tidy 根据go.mod文件添加或者删除项目所需要的依赖

4. 可能出现的问题汇总

go get -u xx/xx/x

这个操作会升级依赖的依赖,有可能会引发依赖版本不兼容问题导致的编译不通过,比如thrift的0.13与0.14不兼容。

循环依赖问题:

要注意避免循环依赖问题。

原文链接:https://juejin.cn/post/7109880275441549342
相关文章
最新更新