Go: 410 在 go.mod 导入期间消失了

创建于 2019-10-25  ·  6评论  ·  资料来源: golang/go

您使用的是哪个版本的 Go ( go version )?

 $去版本
转到版本 go1.13.3 linux/amd64

这个问题会在最新版本中重现吗?

是的

您使用的是什么操作系统和处理器架构( go env )?

go env输出

$去环境
GO111MODULE=""
GOARCH="amd64"
GOBIN="/opt/DEVOPS/SDK/golang/go_projects/bin"
GOCACHE="/home/alessiosavi/.cache/go-build"
GOENV="/home/alessiosavi/.config/go/env"
GOEXE=""
高尔夫球旗=“”
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUUMDB=""
GOOS =“Linux”
GOPATH="/opt/DEVOPS/SDK/golang/go_projects"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/opt/DEVOPS/SDK/golang/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/opt/DEVOPS/SDK/golang/go/pkg/tool/linux_amd64"
GCCGO=“gccgo”
AR=“ar”
抄送=“gcc”
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build891034950=/tmp/go-build -gno-record-gcc-switches"

你做了什么?

我正在尝试导入一个不包含任何其他依赖项的自定义 golang 模块(go.mod 仅包含module名称和go版本)。 不幸的是,如果我尝试将该模块包含在其他项目中,我会收到410 gone
该模块可以使用 v0.0.8 版本导入,但不能使用 >v0.0.9

由于 go.mod 文件,无法在play.golang.org上复制,相反,我为此创建了一个新存储库: https :
注意:将模块版本更改为 v0.0.8,它将起作用

你期待看到什么?

我希望在 go.mod 中导入模块(需要 github.com/alessiosavi/GoGPUtils v0.0.10
) 并运行go clean ,该模块可以在代码中使用

你看到了什么?

我收到一个错误:

export GO111MODULE=on
export GOPROXY=direct
go get -v -u github.com/alessiosavi/[email protected]
go: downloading github.com/alessiosavi/GoGPUtils v0.0.9
verifying github.com/alessiosavi/[email protected]: github.com/alessiosavi/[email protected]: reading https://sum.golang.org/lookup/github.com/alessiosavi/[email protected]: 410 Gone

可能相关

34528

34795

34402

34370

可能的解决方案

关注: https :

似乎https://proxy.golang.org/github.com/alessiosavi/!go!g!p!utils/@v/v0.0.9.info
就我而言,该错误似乎与两个文件有关,这两个文件仅在名称的大小写上有所不同。

最有用的评论

问题是https://github.com/alessiosavi/GoGPUtils/issues/2。

要获得更完整和有用的错误消息,您应该访问在您收到的错误消息中返回 410 的 URL:

https://sum.golang.org/lookup/github.com/alessiosavi/!go!g!p!utils @v0.0.9

它说:

not found: unzip /tmp/gopath/pkg/mod/cache/download/github.com/alessiosavi/!go!g!p!utils/@v/v0.0.9.zip: case-insensitive file name collision: "tests/fileutils/FindMe.txt" and "tests/fileutils/findme.txt"

或者设置GOSUMDB=off除了设置GOPROXY=direct

$ export GO111MODULE=on
$ export GOPROXY=direct
$ export GOSUMDB=off
$ go get -v -u github.com/alessiosavi/[email protected]
go: finding github.com/alessiosavi/GoGPUtils v0.0.9
go: downloading github.com/alessiosavi/GoGPUtils v0.0.9
go: extracting github.com/alessiosavi/GoGPUtils v0.0.9
-> unzip /var/folders/zb/5p8cwfhj29gf_m8vdy8ylmlr00jwcj/T/tmp.6HERCDpw/pkg/mod/cache/download/github.com/alessiosavi/!go!g!p!utils/@v/v0.0.9.zip: case-insensitive file name collision: "tests/fileutils/FindMe.txt" and "tests/fileutils/findme.txt"
go get github.com/alessiosavi/[email protected]: unzip /var/folders/zb/5p8cwfhj29gf_m8vdy8ylmlr00jwcj/T/tmp.6HERCDpw/pkg/mod/cache/download/github.com/alessiosavi/!go!g!p!utils/@v/v0.0.9.zip: case-insensitive file name collision: "tests/fileutils/FindMe.txt" and "tests/fileutils/findme.txt"

所有6条评论

问题是https://github.com/alessiosavi/GoGPUtils/issues/2。

要获得更完整和有用的错误消息,您应该访问在您收到的错误消息中返回 410 的 URL:

https://sum.golang.org/lookup/github.com/alessiosavi/!go!g!p!utils @v0.0.9

它说:

not found: unzip /tmp/gopath/pkg/mod/cache/download/github.com/alessiosavi/!go!g!p!utils/@v/v0.0.9.zip: case-insensitive file name collision: "tests/fileutils/FindMe.txt" and "tests/fileutils/findme.txt"

或者设置GOSUMDB=off除了设置GOPROXY=direct

$ export GO111MODULE=on
$ export GOPROXY=direct
$ export GOSUMDB=off
$ go get -v -u github.com/alessiosavi/[email protected]
go: finding github.com/alessiosavi/GoGPUtils v0.0.9
go: downloading github.com/alessiosavi/GoGPUtils v0.0.9
go: extracting github.com/alessiosavi/GoGPUtils v0.0.9
-> unzip /var/folders/zb/5p8cwfhj29gf_m8vdy8ylmlr00jwcj/T/tmp.6HERCDpw/pkg/mod/cache/download/github.com/alessiosavi/!go!g!p!utils/@v/v0.0.9.zip: case-insensitive file name collision: "tests/fileutils/FindMe.txt" and "tests/fileutils/findme.txt"
go get github.com/alessiosavi/[email protected]: unzip /var/folders/zb/5p8cwfhj29gf_m8vdy8ylmlr00jwcj/T/tmp.6HERCDpw/pkg/mod/cache/download/github.com/alessiosavi/!go!g!p!utils/@v/v0.0.9.zip: case-insensitive file name collision: "tests/fileutils/FindMe.txt" and "tests/fileutils/findme.txt"

与往常一样,另一天,@dmitshur 解决了另一个问题。 感谢您的努力(:

另一个 Go 版本,另一个需要在 Dockerfiles 中关注和设置的 ENV 变量🤣

基本上正如@dmitshur正确指出的那样:
export GOSUMDB=off
有帮助。

这个线程救了我。 谢谢你。

Go 工具真的可以使用一些修改过的错误消息。 我真的被下面的消息迷住了。 我对与模块相关的新开发几乎一无所知(除了我称赞其意图!),并且难以理解的错误消息使得迁移变得非常困难。

go: ghe.internalrepo.co.jp/project/[email protected]/go.mod: verifying module: ghe.internalrepo.co.jp/project/[email protected]/go.mod: reading https://sum.golang.org/lookup/ghe.internalrepo.co.jp/project/[email protected]: 410 Gone
    server response: not found: ghe.internalrepo.co.jp/project/[email protected]: unrecognized import path "ghe.internalrepo.co.jp/project/our_project": https fetch: Get "https://ghe.internalrepo.co.jp/project/our_project?go-get=1": dial tcp 123.123.123.123:443: connect: connection refused

啊,为找到此线程的人提供更多提示: export GOSUMDB=off帮助解决了该问题,但至少在我的情况下是“正确的”(从某种意义上说,它不涉及公共依赖项访问)修复是设置export GOPRIVATE=ghe.internalrepo.co.jp 。 尽管如此,它仍然让我感到困惑,它如何在 GOSUMDB 失败后不尝试直接访问存储库,而是立即失败并显示一条神秘消息。 对于 Go 开发人员:如果您不了解这些概念,该消息看起来会更加神秘,所以请围绕它做一些 UX 工作!

此页面是否有帮助?
0 / 5 - 0 等级