Go笔记-工程和依赖管理基本机制
Suriski 6/5/2020 golang笔记
# 依赖管理机制的变迁
# 起初 Golang 是使用 GOPATH 进行代码管理的
- 所有的依赖库按路径组织在 $GOPATH/src 下
- 编译时直接使用 $GOPATH/src 下的代码
- go get 会下载代码到 $GOPATH /src 下
缺点:
不同环境下依赖库版本不一致
无法很好的控制依赖库的版本
# 1.05 版本新增 govendor
启动 govendor:
export GO15VENDOREXPERIMENT=1
缺点:
不同环境下依赖库版本不一致- 无法很好的控制依赖库的版本
# 1.13版本新增 go mod
- 所有依赖代码按路径和版本号组织在 $GOPATH/pkg/mod 目录下
- 采用 go.mod 文件描述依赖项的版本
- 通过 go get/mod 等命令管理依赖
缺点:
不同环境下依赖库版本不一致无法很好的控制依赖库的版本