为了账号安全,请及时绑定邮箱和手机立即绑定

使用提交哈希时,Go 模块出现“未知修订版”错误

使用提交哈希时,Go 模块出现“未知修订版”错误

Go
慕后森 2023-07-10 16:36:14
我需要将此提交放入我的 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 buildgo: finding github.com/libp2p/go-libp2p-core v0.0.0-20190626-aca080dccfc2c9933df66baafe6cf9cc4f429825go: finding github.com/libp2p/go-libp2p-core v0.0.7-0.20190626134135-aca080dccfc2go: github.com/libp2p/go-libp2p-core@v0.0.0-20190626-aca080dccfc2c9933df66baafe6cf9cc4f429825: unknown revision v0.0.0-20190626-aca080dccfc2c9933df66baafe6cf9cc4f429825go: github.com/libp2p/go-libp2p-core@v0.0.7-0.20190626134135-aca080dccfc2: unknown revision aca080dccfc2go: error loading module requirements去获取也不起作用:$ go get github.com/libp2p/go-libp2p-core@aca080dccfc2c9933df66baafe6cf9cc4f429825go: 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 aca080dccfc2go: error loading module requirements正如@JimB 指出的那样,该哈希没有合并,而是重新设置了基础。所以我尝试用新的替换它,但它仍然试图获取旧的?$ go get github.com/libp2p/go-libp2p-core@v0.2.1-0.20190802003216-436d707f7cd0go: finding github.com/libp2p/go-libp2p-core v0.0.7-0.20190626134135-aca080dccfc2go: github.com/libp2p/go-libp2p-core@v0.0.7-0.20190626134135-aca080dccfc2: unknown revision aca080dccfc2go: error loading module requirements
查看完整描述

2 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

对于您最近的 hash aca080dccfc2,它是否已合并到 master ,或者该 hash 对应于什么?快速查看,aca080dccfc2似乎没有 on master,但我不确定您对该提交的期望是什么。

模块允许的哈希值是有限制的,例如:

如果您查看 refs/pulls/nnnnn 或任何 ref ,它会出现在 Git 中,但不会出现在主分支和标签中。最近的更改将搜索范围缩小到主要分支和标签,这更合适。

尝试获取该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

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

您提到:

它仍在尝试获取旧的吗?

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

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

或者在你的情况下:

go mod graph | grep go-libp2p-core

从文档中:

“go mod graph”以文本形式打印模块需求图(应用了替换)。输出中的每一行都有两个以空格分隔的字段:一个模块及其要求之一。每个模块都被标识为路径@版本形式的字符串,但主模块除外,它没有@版本后缀。


查看完整回答
反对 回复 2023-07-10
?
MYYA

TA贡献1868条经验 获得超4个赞

您可以尝试这个小技巧来解决这个问题:

github.com/libp2p/go-libp2p-core v0.0.7-0.20190626134135-aca080dccfc2go.modgo.sum文件中删除 的条目。

然后尝试go get "github.com/libp2p/go-libp2p-core@v0.2.1-0.20190802003216-436d707f7cd0"下载指定版本


查看完整回答
反对 回复 2023-07-10
  • 2 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信