登录
首页 >  Golang >  Go问答

使用 Go 依赖项的修改版本的问题

来源:stackoverflow

时间:2024-04-17 12:45:36 161浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《使用 Go 依赖项的修改版本的问题》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

所以情况是这样的:

我有一个 go-ipfs 的分支。它取决于go-ipfs-config。我需要修改 go-ipfs-config 并使 go-ipfs 依赖于我修改后的版本。

我分叉了 go-ipfs-config 进行了更改,并确保将路径更新为我的分叉版本的路径,如此处所示。我通过运行 go build 确认这仍然可以成功构建

然后我更新了 go-ipfs 中的 go.mod 以使用我的修改版本。我使用 replace 指令来表示此意图,可以在此处看到

这就是事情变得绝对的掩体,我不再确定发生了什么。

当我执行 go mod tidy 来获取依赖项时,我得到以下输出:

go: finding module for package github.com/dadepo/go-ipfs-config
go: found github.com/dadepo/go-ipfs-config in github.com/dadepo/go-ipfs-config v0.5.3

疯狂的是 github.com/dadepo/go-ipfs-config 中不存在 v0.5.3

还将以下行添加到 go.mod 中:

github.com/dadepo/go-ipfs-config v0.5.3 // indirect

甚至可以在这里看到

我已经运行了 go clean -modcachego clean -r 等命令,但似乎没有解决问题!

有人知道我做错了什么吗?以及如何实现使我的项目版本依赖于其依赖项的另一个修改版本的目标?


解决方案


好吧,这是因为我没有意识到 Go lang 工具链中发生的一些事情。

显然https://proxy.golang.org是一个东西!它是 google 运营的一项缓存模块的服务。因此,如果您发布了一个版本,并将其删除,则该版本很可能已经缓存在 https://proxy.golang.org 中。这正是我的情况所发生的情况。我已经发布了 0.5.3 版本,并将其删除,但它并没有真正消失,因为 Google 缓存已经掌握了它。

因此,如果您看到不应该存在的版本。这应该是您检查的第一个地方。这个 documentation link 还进一步阐明了代理以及如何调整它。

我根据我在打开报告此行为的问题上进行的对话发现了这一点。如果您好奇,可以查看here

理论要掌握,实操不能落!以上关于《使用 Go 依赖项的修改版本的问题》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>