golang基础(5)

简介: golang基础

golang基础(4)https://developer.aliyun.com/article/1530658

2. 依赖管理

背景

2.1 依赖管理演进

2.1.1 GOPath

2.1.2 GO Vendor
  • 项目目录下曾江vender文件 ,所有依赖包副本形式放在$ProjectRoot/vender
  • 依赖寻址方式: vendor => GOPATH

2.1.3 GO Mode
  • 通过go.mod文件管理依赖包版本
  • 通过go get/go mod指令工具管理依赖包

2.2 配置管理三要素

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

2.中心仓库管理依赖库 Proxy

3.本地工具 go get/ mod

2.3

2.3.1 依赖管理配置 - go mod

2.3.2 依赖配置 -version

语义化版本第一个是大版本,之间是可以不兼容的,第二个是小版本,在兼容的情况下实现更新,第三个是修复bug

2.3.3依赖配置-indirect

2.3.4 依赖配置 -incompatible

2.3.5 版本依赖 依赖图

他会选择一个最低的兼容版本

2.3.6 依赖分发 - 回源

缺点

  • 无法保证构建的稳定性
    增加/修改/删除软件版本
  • 无法保证依赖的可用性
    删除软件
  • 增加第三方压力
    代码托管平台负载问题
2.3.7依赖分发 - proxy

工具 goget

工具 gomode

相关文章
|
10月前
|
编译器 Go Windows
104.【GoLang基础】(一)
104.【GoLang基础】
37 0
|
10月前
|
缓存 并行计算 Go
104.【GoLang基础】(四)
104.【GoLang基础】
39 0
|
10月前
|
存储 编译器 Go
104.【GoLang基础】(七)
104.【GoLang基础】
45 0
|
10月前
|
Java 编译器 Go
104.【GoLang基础】(二)
104.【GoLang基础】
38 0
|
10月前
|
大数据 编译器 Go
104.【GoLang基础】(三)
104.【GoLang基础】
68 0
|
24天前
|
监控 安全 Go
|
24天前
|
存储 Java Go
|
24天前
|
存储 JSON 数据库连接
|
24天前
|
存储 Java Go
|
8月前
|
中间件 Go API