GoLang——依赖管理

GoLang——依赖管理

为什么需要依赖管理

在早前版本重,Go语言所依赖的第三方库都存放在 GOPATH 目录下,导致第三方库版本可能会发生冲突,故引入依赖管理使得第三方库的引入更加便于开发者的使用


go module

go module 是 v1.11 版本后推出的版本管理工具,从 v1.13开始,go module 是默认的版本管理工具

启用 go module 需要将 GO111MODULE 设置为 on 或者 auto

  • off:禁用模块支持,编译时会从 GOPATH 和 Vender 文件夹中查找包

  • on:启用模块支持,编译时会忽略 GOPATH 和 Vender 文件夹,只通过 go.mod 下载相关依赖和第三方库

  • auto:当项目在 GOPATH/src 外并且项目中存在 go.mod 文件,则启用 go module 模块支持,否则禁用

注意:

  • go module 管理的项目不能在 GOPATH 目录下,否则会使用其他项目已有的包管理工具

  • 使用 go module 后会在项目根目录下生成两个文件 go.mod 和 go.sum


go mod 命令

  • go mo download:下载依赖的 module 到本地 cache(cache可以通过 go env 查看,默认为 GOPATH/pkg/mod)

  • go mod init:初始化当前项目,创建 go.mod 文件

  • go mod tidy:增加缺少的 module,删除没有用的 module

  • go mod verify:根据 go.sum 文件校验依赖


go.mod 文件

go.mod 文件记录了项目所有的依赖信息,常见的关键字:

  • module:声明 module 名称

  • require:声明依赖及版本号

  • replace:替换 require 中声明的依赖

  • exclude:禁用指定依赖

  • indirect:表示间接依赖


go.sum 文件

go.sum 文件中每行记录由包名、版本号、哈希值组成,用空格分隔

go.sum 文件是为了实现构建一致性


go mod init

在项目中使用 go module,只需要在项目目录下执行 go mod init,生成一个 go.mod 文件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

programming_rooike

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值