为什么“go get”有时会检索过时的提交?
Why does “go get” sometimes retrieve an outdated commit?
我创建了一个 Go 模块并将其放在 github.com/bronger/abcde
。我错误地在其 go.mod
中将其声明为 module abcde
。因此,Dockerfile 中的 go get github.com/bronger/abcde
(即没有我的本地程序副本)失败并显示
#10 0.824 go: downloading github.com/bronger/abcde v0.0.0-20210813180406-8d5688e6c805 #10 0.866 go get: github.com/bronger/abcde@none updating to
#10 0.866 github.com/bronger/abcde@v0.0.0-20210813180406-8d5688e6c805: parsing go.mod:
#10 0.866 module declares its path as: abcde
#10 0.866 but was required as: github.com/bronger/abcde
所以我在go.mod
中更正了模块名称并推送了结果。
最终,这行得通。但是,go get
最终检测到更改可能需要很长时间(30-60 分钟)。最新的错误提交是 8d5688e
,它也出现在上面的错误消息中。即使在 80c407b
是 GitHub 上的最新提交之后的几分钟,go get
仍然抱怨 8d5688e
。
这是为什么?
默认情况下,Go 工具使用 Go 团队提供的代理。这意味着对模块的更改可以缓存一段时间。您可以在他们的网站上找到更多相关信息:https://proxy.golang.org/.
将 GOPROXY=off
设置为环境变量将禁用此代理。
我创建了一个 Go 模块并将其放在 github.com/bronger/abcde
。我错误地在其 go.mod
中将其声明为 module abcde
。因此,Dockerfile 中的 go get github.com/bronger/abcde
(即没有我的本地程序副本)失败并显示
#10 0.824 go: downloading github.com/bronger/abcde v0.0.0-20210813180406-8d5688e6c805 #10 0.866 go get: github.com/bronger/abcde@none updating to
#10 0.866 github.com/bronger/abcde@v0.0.0-20210813180406-8d5688e6c805: parsing go.mod:
#10 0.866 module declares its path as: abcde
#10 0.866 but was required as: github.com/bronger/abcde
所以我在go.mod
中更正了模块名称并推送了结果。
最终,这行得通。但是,go get
最终检测到更改可能需要很长时间(30-60 分钟)。最新的错误提交是 8d5688e
,它也出现在上面的错误消息中。即使在 80c407b
是 GitHub 上的最新提交之后的几分钟,go get
仍然抱怨 8d5688e
。
这是为什么?
默认情况下,Go 工具使用 Go 团队提供的代理。这意味着对模块的更改可以缓存一段时间。您可以在他们的网站上找到更多相关信息:https://proxy.golang.org/.
将 GOPROXY=off
设置为环境变量将禁用此代理。