snippetgogitModerate
How to do "go get" on a specific tag of a github repository
Viewed 0 times
howgithubtagspecificrepositoryget
Problem
I am trying to compile the InfluxDB database (version v0.8.8) using
But this pulls the master branch, and I need the
I have tried to do:
I also tried to do a regular
The problem using the last approach is that when I try to pull the dependencies with
TL;DR: perform
go get github.com/influxdb/influxdbBut this pulls the master branch, and I need the
v0.8.8 tag.I have tried to do:
go get github.com/influxdb/influxdb/releases/tag/v0.8.8 but this fails saying unable to find.I also tried to do a regular
go get of the master branch, and then manually checking out the tag using git in GOPATH/src/github... in order to set the corret version.The problem using the last approach is that when I try to pull the dependencies with
go get -u -f ./... it tries to find them in the master branch, and some of them do not exist on the master branch...TL;DR: perform
go get on a specific github tag, and pull the correct dependencies.Solution
It is not possible using the
Spoke to a guy that works at Google and he acknowledged this problem/requirement, he said that vendoring which his team used was bulky and they will probably solve it with the official tools soon.
Read more:
Vendoring in Go 1.6
Vendoring has been released from experimental in go 1.6 (after this post was initially written) that makes the process of using specific tags / versions of packages using third party tools easier.
More about how vendoring works: Understanding and using the vendor folder
Modules in Go 1.11
Go 1.11 has released an experimental features called modules to improve dependency management, they hope to release it as stable in Go 1.12: Information about modules in Go 1.11
go get tool. Instead you need to use a third party go package management tool or create your own forks for the packages that you wish to manage more fine grained.Spoke to a guy that works at Google and he acknowledged this problem/requirement, he said that vendoring which his team used was bulky and they will probably solve it with the official tools soon.
Read more:
- Reference of third party package management tools
- Blog post by golang team discussing the approach for implementing vendoring
Vendoring in Go 1.6
Vendoring has been released from experimental in go 1.6 (after this post was initially written) that makes the process of using specific tags / versions of packages using third party tools easier.
go get does still not have the functionality to fetch specific tags or versions.More about how vendoring works: Understanding and using the vendor folder
Modules in Go 1.11
Go 1.11 has released an experimental features called modules to improve dependency management, they hope to release it as stable in Go 1.12: Information about modules in Go 1.11
Context
Stack Overflow Q#30188499, score: 37
Revisions (0)
No revisions yet.