依赖管理

91 阅读1分钟

依赖管理

  • GOPATH
    • 环境变量
    • bin
      • 编译的二进制文件
    • pkg
      • 依赖的包文件
    • go get获取包
    • 无法版本控制
  • go Vender
    • 项目目录下vender,保存依赖的副本
  • Go Moudle
    • 通过go.mod文件管理依赖包版本
    • 通过go get/go mod指令获取依赖包
    • version
      • 语义化版本
        • ${MAJOR}.${MINOR}.${PATCH}
      • commit版本
        • vx.0.0-yyyymmddhhmmss-abcdefgh123
    • 依赖配置
      • 非直接依赖//indirect
      • incompatible
        • 主版本2+模块会在模块路径增加vN版本号
      • 依赖图
        • 寻找最小兼容性
        • go要求在同一大版本号下向下兼容
  • go get
    • @update 默认
    • @none 删除依赖
    • @v1.1.2 tag版本,语义版本
    • @23dfdd5 特定的commit
    • @master 分支的最新commit
  • go mod
    • init
    • download
    • tidy
      • 增加需要的依赖