去获取无法从 github 上的私有存储库中获取模块

我有一个(私有)github存储库和一个Go模块。我已经添加了标签,github显示了该标签。我已经设置了,我的 ~/.git 配置有v0.1go env -w GOPRIVATE=github.com/dwschulze/key-value-mod[url "git@github.com:"] insteadOf = https://github.com/


但无法检索我的模块:go get


$ go get github.com/dwschulze/key-value-mod

go: github.com/dwschulze/key-value-mod upgrade => v0.0.0-20210907155619-9116b97467d6

go get: github.com/dwschulze/key-value-mod@v0.0.0-20210907155619-9116b97467d6: parsing go.mod:

        module declares its path as: key-value-mod

                but was required as: github.com/dwschulze/key-value-mod


$ go get github.com/dwschulze/key-value-mod@v0.1

go get github.com/dwschulze/key-value-mod@v0.1: no matching versions for query "v0.1"

有什么问题?go get


慕莱坞森
浏览 116回答 3
3回答

胡子哥哥

基于错误,我认为您对私有存储库没有任何问题。相反,在我看来,您的文件将模块声明为go.modmodule key-value-mod ...虽然它应该是module github.com/dwschulze/key-value-mod ...

哈士奇WWW

造成这种情况的原因有两个。我必须清除我的模块缓存。第二个是正如 Simon 上面提到的,模块名称必须是将发布模块的存储库 URL。我不喜欢go模块与源代码存储库的紧密耦合,但这就是现实。

qq_遁去的一_1

您的 go 模块的 semver 对于消费不正确。它包括一个版本,版本 - 但缺少数字:v0.1go modulesmajorminorpatch注意:此处的后缀 () 是可选的。Pre-release Identifier-beta.2另请参阅发布 go 模块文档:go.mod中的每个必需模块都有一个语义版本,即用于构建模块的依赖项的最低版本。语义版本的格式为“虚拟”。因此,请将您的标签更新为,它应该可以正常工作。v0.1.0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go