第 7 期:依赖与模块

录制时间: 2021-08-29

本期摘要:这是 Go 夜聊的第七期节目,我们和 goproxy.cn 的作者在 Go 1.17 发布时聊了聊在 Go 语言中的依赖管理、模块等相关的机制。Go 语言中的 Modules 走到今天这一步经历了哪些波折?看似在其他语言里早已攻克的代码依赖管理,在 Go 语言的情景下,又有哪些不为人知的努力?

时间线

  • 00:00 开场白
  • 01:06 接触 Go 语言的契机
  • 02:57 Beego 等一系列 Web 框架的对比
  • 04:37 自己动手写 Web 框架
  • 06:33 Go Modules 之前的依赖管理
  • 16:12 Monorepo 代码管理的优劣
  • 22:24 “臭名昭著” 的 GOPATH 和 vendor
  • 28:36 dep 的风波
  • 37:46 “独裁式” 管理风格下的需求工程
  • 43:52 进入 Go Module 时代
  • 46:47 Go Modules 的基本原理
  • 52:40 godoc 和 pkg.go.dev
  • 54:57 从 golang.org 合并到 go.dev 域名
  • 66:22 Go Modules 的最小版本选择算法 MVS
  • 70:27 环境变量 GOPRIVATE
  • 72:25 模块的懒加载
  • 77:36 模块别名机制
  • 82:10 GOPATH 的废除与 Go 1 兼容性保证
  • 84:43 Go Workspace 工作区
  • 86:17 构建 goproxy.cn 的经历
  • 89:57 搭建代理的难点及其与镜像站的区别
  • 96:42 七牛云接管 goproxy.cn 的运营

相关链接

📝 联系我们