GO的依赖管理|青训营

97 阅读1分钟

三大阶段:GOPATH,GO

GOPATH

主要是三个目录,bin,pkg,src
bin:项目编译的二进制文件
pkg:项目编译的中间产物,加速编译
src:项目源码
go get下载最新版本的包到src目录下

弊端

无法做到多版本控制,因为都是在src拿的源码。

GOVendor

项目目录下增加vendor文件,所有依赖包副本形式放在$ProjectRoot/vendor
依赖寻址方式:vendor=>GOPATH
通过每个项目引入一份依赖的副本, 解决了多个项目需要同一个package 依赖的冲突问题。

image.png

弊端

image.png

如果A依赖B和C,但它们的版本又不兼容时就会出现问题了,就是没法控制依赖的版本。

GO Module

1.16版本默认开启了
通过go.mod文件管理依赖包版本
通过go get/go mod指令工具管理依赖包

依赖管理三要素:

1.配置文件,描述依赖 go.mod(我们需要有文件能描述它们的关系)
2.中心仓库管理依赖库 Proxy
3.本地工具 go get/mod