如何解决无法从 github 获取 gorose 2.0
我的 go 版本是 1.16,本地操作系统是 Windows。
我需要使用 gorose
包。当我使用命令时
go get -u github.com/gohouse/gorose/v2
在 goland 终端,显示
go get: github.com/gohouse/gorose/v2@none updating to
github.com/gohouse/gorose/v2@v2.1.10 requires
github.com/gohouse/golib@v0.0.0-20200727025018-43fec7d17e79 requires
github.com/gohouse/e@v0.0.3-rc.0.20200724104652-25ebf8c9c305: invalid pseudo-version: preceding tag (v0.0.3-rc) not found
解决方法
看来 github.com/gohouse/e
已从其存储库中删除了 v0.0.3-rc
标记,因此基于该标记的伪版本不再有效。 (Go 模块强烈希望维护者不要删除已经发布的标签。)
解决此问题的一种方法是 exclude
无效版本,这将导致在您的模块中忽略对其的依赖关系。为此,请将这一行添加到您的 go.mod
文件中:
exclude github.com/gohouse/e v0.0.3-rc.0.20200724104652-25ebf8c9c305
然后,当您 go get github.com/gohouse/gorose/v2
时,它将使用该模块的当前 github.com/gohouse/e
版本重新解析包 latest
上任何缺失的依赖项。
解决此问题的另一种方法是从 Go 模块代理获取 v0.0.3-rc.0.20200724104652-25ebf8c9c305
的缓存副本。似乎该版本可能由 proxy.golang.org 缓存,您可以通过将 GOPROXY
设置为 proxy.golang.org,direct
(或完全取消设置,因为这是 {{1 }} 命令)在您的环境中。
如果您设置了 GOPRIVATE
and/or GONOPROXY
,您可能还需要调整这些变量以确保它们不会绕过 go
的代理。
最后,理想的长期解决方案是在上游修复这些依赖项,以便模块依赖关系图仅包含有效版本。你可以:
- 向
github.com/gohouse/e
模块提出问题,要求他们恢复已删除的标签,或 - 向
github.com/gohouse/e
发送 PR 以将其github.com/gohouse/golib
文件中的要求更新为仍然有效的版本,然后向go.mod
发送 PR 以更新其对 {{1} 的依赖}} 到包含修复的版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。