为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 github 存储库的特定标签上执行“go get”

如何在 github 存储库的特定标签上执行“go get”

Go
翻翻过去那场雪 2021-10-04 17:20:54
我正在尝试使用编译 InfluxDB 数据库(版本 v0.8.8) go get github.com/influxdb/influxdb但这会拉动主分支,我需要v0.8.8标签。我曾尝试这样做: go get github.com/influxdb/influxdb/releases/tag/v0.8.8但这失败说无法找到。我还尝试对go getmaster 分支进行常规检查,然后使用gitin手动检查标签GOPATH/src/github...以设置 corret 版本。使用最后一种方法的问题是,当我尝试使用go get -u -f ./...它拉取依赖项时,它会尝试在 master 分支中找到它们,而其中一些在 master 分支上不存在......TL;DR:go get在特定的 github 标签上执行,并拉取正确的依赖项。
查看完整描述

3 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

无法使用该go get工具。相反,您需要使用第三方 go 包管理工具或为您希望管理更细粒度的包创建自己的分支。

与一位在 Google 工作的人交谈,他承认了这个问题/要求,他说他的团队使用的 vendoring 很庞大,他们可能很快会用官方工具解决它。

阅读更多:

Go 1.6 中的供应商

Vendoring 已经从 go 1.6 中的实验性版本中释放出来(在这篇文章最初写完之后),这使得使用第三方工具使用特定标签/包版本的过程变得更加容易。go get仍然没有获取特定标签或版本的功能。

有关 vendoring 如何工作的更多信息:了解和使用供应商文件夹

Go 1.11 中的模块

Go 1.11 发布了一个名为 modules 的实验性功能来改进依赖管理,他们希望在 Go 1.12 中将其发布为稳定的:关于 Go 1.11 中模块的信息


查看完整回答
反对 回复 2021-10-04
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

我在这方面取得了成功:

  • 运行没有标签的 get 命令 - 它应该克隆主分支。

  • 移至克隆目录并签出所需的标记或分支。

  • 再次运行 go get 命令,它应该处理检出分支上的命令。


查看完整回答
反对 回复 2021-10-04
  • 3 回答
  • 0 关注
  • 255 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信