go run没有得到最新的标签



我在Go中使用GraphQL,并试图使用熟悉的go run命令获得gqlgen工具。

我本以为它能检索到最新的可用标签;我不知怎么得到了一个似乎根本不存在于回购中的标签:

$ go run github.com/99designs/gqlgen version
v0.9.1-dev

我希望以上将根据最新标签返回

v0.13.0

Go版本安装在我的工作站上:

$ go version
go version go1.15.5 darwin/amd64

有人知道发生了什么事吗?

更新:禁用GOPROXY对没有帮助

UPDATE2:正如您在这里看到的,版本被硬编码为version.go,但即使go run获得了master而不是最新的标记,您仍然希望输出是master分支的0.13.0-dev。相反,我怀疑有一些标记版本的字符串排序将0.9.*排序为高于0.1*.*

go run目前不支持运行特定版本的二进制文件,但请注意,在go命令的未来版本中,有一个已接受的Go建议可以添加该功能。

从Go 1.16开始,您可以改为go install特定版本的二进制文件,然后从其安装位置运行该二进制文件($(go env GOBIN)$(go env GOPATH)/bin(。

$ GOBIN=~/bin go install github.com/99designs/gqlgen@latest
$ ~/bin/gqlgen ...

我认为版本命令在构建时配置错误,v0.9.1-dev在构建时不是标签。

最新更新