登录
首页 >  Golang >  Go问答

仅找到模块而不包含包

来源:stackoverflow

时间:2024-02-13 10:06:24 399浏览 收藏

大家好,今天本人给大家带来文章《仅找到模块而不包含包》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

我对 go 存在依赖性问题,并试图了解根本原因,希望有人能提供一些线索。

我使用 prometheus go 客户端 ( https://github.com/prometheus/client_golang ) 作为我的 go 项目中的依赖项。它有一个称为 xxhash 的传递依赖项,go 的模块感知版本可以通过 github.com/cespare/xxhash/v2 的虚拟路径发现该依赖项。看起来这个实用程序最近更新为使用 go 模块,这由它的 v2 后缀表示。

我在模块模式下运行 go 1.17.7 并使用默认的 gopath。当我尝试运行 go mod tidy 时,它返回以下错误。

github.com/cespare/xxhash/v2: module github.com/cespare/xxhash/v2@latest found (v2.1.2), but does not contain package github.com/cespare/xxhash/v2

我正在模块模式下运行,这是一个传递依赖项,所以我希望 go 会在 $gopath\pkg\mod\cache\download\github.com\cespare\xxhash\v2\@v 中查找以查找那个版本。我确实看到该版本缓存在该精确文件夹中。然而,我还注意到,go 在 $gopath\pkg\mod\github.com\cespare\xxhash\[email protected] 处为相同的依赖项创建了一个目录,但尚未下载源代码。

我读过其他线程,其中通过升级到模块感知的较新版本的 go 解决了这个问题,或者升级 prometheus 客户端的版本,但在这种情况下,我对每个线程都使用最新版本。 p>

正确答案


最初的 GOPATH 配置使用 Artifactory 形式的镜像代理来进行依赖关系解析。校验和冲突阻止拉入所有依赖项。我恢复到 proxy.golang.org 来解决问题

理论要掌握,实操不能落!以上关于《仅找到模块而不包含包》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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