如何解决转到mod使用最新版本,不提交
我想根据上次提交而不是上次发布使用库。所以我得到了那个版本:
$ go get github.com/epsagon/epsagon-go@636ea43
现在我在程序包缓存中有
$ cd /Users/sgetman/go/pkg/mod/github.com/epsagon && ls
epsagon-go@v1.14.0 epsagon-go@v1.14.1-0.20201105151128-636ea43d1943
但是当我尝试go build
,go test
,go mod tidy
时:
go: finding module for package github.com/epsagon/epsagon-go/epsagon/wrappers/gin
github.com/nexmoinc/neru-runtimelib/router imports
github.com/epsagon/epsagon-go/epsagon/wrappers/gin: module github.com/epsagon/epsagon-go@latest found (v1.14.0),but does not contain package github.com/epsagon/epsagon-go/epsagon/wrappers/gin
同时我的go.mod:
require (
...
github.com/epsagon/epsagon-go v1.14.1-0.20201105151128-636ea43d1943
...
)
go.sum:
github.com/epsagon/epsagon-go v1.14.0 h1:Tq7qyoyDs2aUCc/UsQEHFt89aXVdUmjWXHwvS5kfSC4=
github.com/epsagon/epsagon-go v1.14.1-0.20201105151128-636ea43d1943 h1:kJGvRsqRfo1h8vEEGajWa+szA9965Epw83Fm3UmmwEc=
github.com/epsagon/epsagon-go v1.14.1-0.20201105151128-636ea43d1943/go.mod h1:Q73D3EhfzqmQa6m6Xi5n0Ugw9l6XSNGCzMcozsFMD1c=
您能帮我整理一下为什么 go mod 依赖最新版本而不是我提供的版本吗?
解决方法
go
命令正在检查 latest
版本,因为包 github.com/nexmoinc/neru-runtimelib/router
包含像 import
这样的 import "github.com/epsagon/epsagon-go/epsagon/wrappers/gin"
语句。
github.com/epsagon/epsagon-go v1.14.1-0.20201105151128-636ea43d1943
不包含这样的包,因此 go
命令试图确定它是否可以将该模块升级到更新版本以找到导入的包。
如果您运行 go build -mod=readonly
,您有望获得更清晰的错误消息。 (请注意,从 Go 1.16 开始,-mod=readonly
将是默认值:请参阅 https://tip.golang.org/doc/go1.16#modules.)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。