【GO】go mod 和vendor依赖管理工具

go module是Go语言默认的依赖管理工具,且没有必要在GOPATH中创建项目了。

常用命令:

go mod init 初始化当前文件夹, 创建go.mod文件
go mod download/go get 下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录)
go mod graph 打印模块依赖图
go mod tidy 增加缺少的module,删除无用的module
go mod verify 校验依赖
go get package@version 下载指定version的包

在go module中,

module定义包名,indirect表示间接引用
require:依赖包列表以及版本
exclude:禁用依赖包列表
replace:替换依赖包列表

go mod模式下设置proxy代理后,go get或go mod download下载的源码会存在$GOPATH/pkg/mod目录下,go get下载后,go mod可能会莫名其妙的找不到(编译器会首先查找Go的安装目录下的src和pkg,然后才会查找GOPATH的pkg或src),可以手动再添加到gomod中一次解决:
go mod init gin
go mod edit -require github.com/gin-gonic/gin@latest (添加gin依赖)

govendor的使用
govendor init 初始化生成vendor文件夹,代码必须写在proj/src下,即proj/src/main.go
govender add +all 将Path/src下的包拷贝到vendor目录

你可能感兴趣的:(go,golang)