【Go笔记】工程和依赖管理基本机制

6/5/2020 golang笔记依赖

# 依赖管理机制的变迁

image-20211205162422682

# 起初 Golang 是使用 GOPATH 进行代码管理的

  1. 所有的依赖库按路径组织在 $GOPATH/src 下
  2. 编译时直接使用 $GOPATH/src 下的代码
  3. go get 会下载代码到 $GOPATH /src 下

缺点:

  1. 不同环境下依赖库版本不一致

  2. 无法很好的控制依赖库的版本

# 1.05 版本新增 govendor

  1. 启动 govendor:

    export GO15VENDOREXPERIMENT=1

缺点:

  1. 不同环境下依赖库版本不一致
  2. 无法很好的控制依赖库的版本

# 1.13版本新增 go mod

  1. 所有依赖代码按路径和版本号组织在 $GOPATH/pkg/mod 目录下
  2. 采用 go.mod 文件描述依赖项的版本
  3. 通过 go get/mod 等命令管理依赖

缺点:

  1. 不同环境下依赖库版本不一致
  2. 无法很好的控制依赖库的版本

# go mod 如何工作

image-20211205165158150

image-20211205165351031

# (非理想状态)常见问题

# 常用的工具和方法image-20211205165526083

# 经典案例分析

Last Updated: 3/23/2022, 10:00:11 AM