gpt4 book ai didi

使用提交哈希时 Go Modules "unknown revision"错误

转载 作者:数据小太阳 更新时间:2023-10-29 03:08:13 25 4
gpt4 key购买 nike

我需要拉 this提交到我的 go 项目中。

我已经尝试了多个版本的 go.mod:

...

require (
github.com/libp2p/go-libp2p-core@v0.0.7-0.20190626134135-aca080dccfc2

// and...
github.com/libp2p/go-libp2p-core v0.0.0-20190626-aca080dccfc2c9933df66baafe6cf9cc4f429825
)

...

两者在运行 $ go build 时都会导致错误:

$ go build
go: finding github.com/libp2p/go-libp2p-core v0.0.0-20190626-aca080dccfc2c9933df66baafe6cf9cc4f429825
go: finding github.com/libp2p/go-libp2p-core v0.0.7-0.20190626134135-aca080dccfc2
go: github.com/libp2p/go-libp2p-core@v0.0.0-20190626-aca080dccfc2c9933df66baafe6cf9cc4f429825: unknown revision v0.0.0-20190626-aca080dccfc2c9933df66baafe6cf9cc4f429825
go: github.com/libp2p/go-libp2p-core@v0.0.7-0.20190626134135-aca080dccfc2: unknown revision aca080dccfc2
go: error loading module requirements

Go getting 也行不通:

$ go get github.com/libp2p/go-libp2p-core@aca080dccfc2c9933df66baafe6cf9cc4f429825
go: finding github.com/libp2p/go-libp2p-core v0.0.7-0.20190626134135-aca080dccfc2 go: github.com/libp2p/go-libp2p-core@v0.0.7-0.20190626134135-aca080dccfc2: unknown revision aca080dccfc2
go: error loading module requirements

正如@JimB 指出的那样,该散列没有合并,而是重新设置了基址。所以我尝试用新的替换它,但它仍在尝试获取旧的?

$ go get github.com/libp2p/go-libp2p-core@v0.2.1-0.20190802003216-436d707f7cd0
go: finding github.com/libp2p/go-libp2p-core v0.0.7-0.20190626134135-aca080dccfc2
go: github.com/libp2p/go-libp2p-core@v0.0.7-0.20190626134135-aca080dccfc2: unknown revision aca080dccfc2
go: error loading module requirements

最佳答案

对于您最近的哈希 aca080dccfc2 , 是合并到 master,还是那个 hash 对应什么?快速查看,aca080dccfc2似乎不在 master 上,但我不确定您对该提交的期望是什么。

对于模块允许的散列有限制,例如来自这个稍旧的评论 #27043 :

It is present in Git if you look at refs/pulls/nnnnn or whatever the ref is, but not in the main branches and tags. Recent changes cut the search down to main branches and tags, which is more appropriate.

试图得到 aca080dccfc2哈希对我不起作用:

$ go get github.com/libp2p/go-libp2p-core@436d707f7cd0
go: finding github.com/libp2p/go-libp2p-core 436d707f7cd0
go get github.com/libp2p/go-libp2p-core@436d707f7cd0:
github.com/libp2p/go-libp2p-core@436d707f7cd0: invalid version: unknown revision 436d707f7cd0

另一方面,最近一次提交 master对我有用:

$ go get github.com/libp2p/go-libp2p-core@d204016fc64589d0

(旁注:请注意,我只是在 @ 之后单独使用提交哈希。如果 pseudo-version 出现问题,这会很方便)。

你提到:

it's still trying to fetch the old one?

我不确定这是否是您的主要问题,但一般来说,如果您不确定某个版本的来源,一个好的起点通常是:

go mod graph | grep <module-of-interest>

或者在你的情况下:

go mod graph | grep go-libp2p-core

来自文档:

'go mod graph' prints the module requirement graph (with replacements applied) in text form. Each line in the output has two space-separated fields: a module and one of its requirements. Each module is identified as a string of the form path@version, except for the main module, which has no @version suffix.

在模块 wiki 上的常见问题解答中,有一些更通用的故障排除技巧可用于追踪为什么使用特定版本:

FAQ: What can I check if I am not seeing the expected version of a dependency?

也就是说,首先了解您期望进行的提交可能会更有趣...

关于使用提交哈希时 Go Modules "unknown revision"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57418578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com