1、为当前项目添加依赖包
我们在下面代码中,引入了第三包的一个uuid的功能。
如下代码所示:
package main
import (
"github.com/google/uuid"
"github.com/sirupsen/logrus"
)
func main() {
logrus.Println(uuid.NewString())
}
要正常使用uuid.NewString()的功能,首先要下载第三包,使用如下命令下载:
go get github.com/sirupsen/logrus
也可以使用go mod tidy去自动分析下载相关依赖的包
2、降级依赖的版本
我们使用上面的命令,下载的第三方依赖版本可能都是最新的
但是最新的版本有时候可能与我们的程序并不兼容
因此我们需要对该第三方版本进行降级
我们要进行降版本,就得知道降到哪一版本,要想知道降到哪一版本,就得知道都有哪些版本。
已logrus为例,使用以下命令查看都有哪些版本。
go list -m -versions github.com/sirupsen/logrus
看一下当前我们使用的版本:
查看go.mod文件:
是1.9.0版本,我们把他降到1.8.1版本。
go get github.com/sirupsen/logrus@v1.8.1
再去看看go.mod里面变了没
下载完毕之后也变了
也可以使用go mod命令来实现降版本,例如我们把这里的logrus的1.8.1版本降成1.8.0版本
go mod edit -require=github.com/sirupsen/logrus@v1.8.0
注意,主版本号大于1的时候,导入的路径是不一样的。例如
redis的github.com/go-redis/redis/v7,而不是github.com/go-redis/redis
3、移除依赖
例如,我们需要移除github.com/go-redis/redis/v7这个依赖
将其从代码层面删除之后,并不能彻底的删除
我们使用go list -m all发现还是有的
需要使用go mod tidy清理一下,再使用go list -m all发现已经没有了
4、使用go mod vendor
vendor模式其实对go module是一个很好的补充
一般用于一些不方便访问外部网络,并且对Go应用构建性能敏感的环境。
创建一个vendor目录,使用go mod vendor,把本项目中用到的第三方依赖,下载到了vendor目录下面。
并且通过 vendor/modules.txt 记录了 vendor 下的 module 以及版本