一尘不染

如何在github存储库的特定标签上“获取”

go

我正在尝试使用编译InfluxDB数据库(版本v0.8.8) go get github.com/influxdb/influxdb

但这拉了master分支,我需要v0.8.8标签。

我已尝试做: go get github.com/influxdb/influxdb/releases/tag/v0.8.8但这无法说找不到。

我也试图做一个正规go get的主分支,然后手动检查出使用标签gitGOPATH/src/github...以设置corret版本。

使用最后一种方法的问题是,当我尝试使用其依赖项时,go get -u -f ./...它会尝试在master分支中找到它们,而其中的一些不存在于master分支中。

TL; DRgo get在特定的github标记上执行,并提取正确的依赖项。


阅读 262

收藏
2020-07-02

共1个答案

一尘不染

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

谈到一个在Google工作的人,他承认了这个问题/要求,他说他的团队使用的供应商规模很大,他们可能很快会用官方工具解决它。

阅读更多:

Go 1.6中的供应商

供应商已经从go
1.6的实验版本中释放
(最初写这篇文章之后),这使使用第三方工具使用特定标签/软件包版本的过程更加容易。go get仍不具备获取特定标签或版本的功能。

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

Go 1.11中的模块

Go 1.11发布了称为模块的实验性功能,以改善依赖关系管理,他们希望在Go 1.12中将其稳定发布:有关Go
1.11中模块的信息

2020-07-02