我正在尝试使用编译 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 中模块的信息
扬帆大鱼
TA贡献1799条经验 获得超9个赞
我在这方面取得了成功:
运行没有标签的 get 命令 - 它应该克隆主分支。
移至克隆目录并签出所需的标记或分支。
再次运行 go get 命令,它应该处理检出分支上的命令。
- 3 回答
- 0 关注
- 255 浏览
添加回答
举报
0/150
提交
取消