GO依赖管理 | 青训营笔记3

49 阅读1分钟

Go依赖管理

Go的依赖管理主要经过三个阶段:GOPATH→Go Vendor→Go Module GOPATH是Go语言支持的一个环境变量,value是Go项目的工作区。 src:存放GO项目的源码;pkg:存放编译的中间产物,提高编译速度;bin:存放Go项目编译生成的二进制文件 Vendor是当前项目中的一个目录,其中存放了当前项目依赖的副本。在Vendor机制下,如果当前项目存在vendor目录,会优先使用该目录下的依赖,如果依赖不存在,会从GOPATH中寻找。但vendor无法很好解决依赖包的版本变动问题和一个项目依赖同一个包的不同版本的问题。

Go Modules 是Go语言官方推出的依赖管理系统,解决了之前依赖管理系统存在的诸如无法依赖同一个库的多个版本等问题。

依赖管理的三要素:

1、配置文件,描述依赖 go.mod

2、中心仓库管理依赖库 proxy

3、本地工具 go get/mod

其中go mod 包括init download tidy,init表示初始化,创建go.mod文件;download是指下载模块到本地缓存;tidy指增加需要的依赖,删除不需要的依赖。