Go modules 依赖管理极简指南

Golang 包管理有内置的 vendoring 工具、社区 govendor 和 dep ,自 Go1.11 以后,支持 module,一种新的依赖管理工具。一些公司分享使用 bazel (a fast, scalable, multi-language and extensible build system https://bazel.build),比如 B 站和英语流利说,我也尝试使用了一下,发现还是复杂了一些。习惯使用 dep 但无法摆脱 GOPATH 的依赖,那么使用 go mod 吧。

Go 安装各种设置好之后别忘了另外设置 export GO111MODULE="on"。以此你就可以把使用 go module 做依赖管理的项目代码放到任一目录下了,不再强制放到 gopath 路径下。

在 Go 项目根目录下运行:

go mod init <modulename>

modulename 随意取,这步会生成 go.mod 文件。

使用 go get 把项目中的依赖自动加载到 go.mod 文件:

go get -u ./...

使用 go mod vendor 生成项目依赖的 vendor 目录,包含了项目中所需的依赖所库有源码。

更新或引入新的依赖包:

go get -u <repo url>
go mod vendor

Golang 官方文档:Using Go module

0 条评论
您想说点什么吗?