Go: 410 desaparecido durante la importación de go.mod

Creado en 25 oct. 2019  ·  6Comentarios  ·  Fuente: golang/go

¿Qué versión de Go estás usando ( go version )?

 $ go versión
 go versión go1.13.3 linux / amd64

¿Este problema se reproduce con la última versión?

¿Qué sistema operativo y arquitectura de procesador está utilizando ( go env )?

go env Salida

$ ir env
GO111MODULE = ""
GOARCH = "amd64"
GOBIN = "/ opt / DEVOPS / SDK / golang / go_projects / bin"
GOCACHE = "/ inicio / alessiosavi / .cache / go-build"
GOENV = "/ inicio / alessiosavi / .config / go / env"
GOEXE = ""
GOFLAGS = ""
GOHOSTARCH = "amd64"
GOHOSTOS = "linux"
GONOPROXY = ""
GONOSUMDB = ""
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"
CC = "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"

¿Qué hiciste?

Estoy intentando importar un módulo golang personalizado que no contiene ninguna otra dependencia (go.mod contiene solo la versión module y la versión go ). Desafortunadamente, recibo un 410 gone si intento incluir el módulo en otro proyecto.
El módulo se puede importar con la versión v0.0.8, pero no con> v0.0.9

Debido al archivo go.mod, no es posible replicar en play.golang.org , en cambio, he creado un nuevo repositorio para eso: https://github.com/alessiosavi/test
NOTA: cambiando la versión del módulo a v0.0.8, funcionará

¿Qué esperabas ver?

Espero que al importar el módulo en go.mod (requiere github.com/alessiosavi/GoGPUtils v0.0.10
) y ejecutando go clean , el módulo se puede usar entre el código

¿Qué viste en su lugar?

Recibo un error:

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

Posible relacionado

34528

34795

34402

34370

Solución posible

Echa un vistazo a: https://proxy.golang.org/YOUR_MODULE_GITH_URL/@v/VERSION.info

Parece que https://proxy.golang.org/github.com/alessiosavi/!go!g!p!utils/ @ v / v0.0.9.info
En mi caso, parece que el error está relacionado con dos archivos que se diferencian solo por el caso en el nombre.

Comentario más útil

El problema es https://github.com/alessiosavi/GoGPUtils/issues/2.

Para obtener un mensaje de error más completo y útil, debe visitar la URL que devolvió 410 en el mensaje de error que recibió:

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

Dice:

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"

O configure GOSUMDB=off además de configurar 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"

Todos 6 comentarios

El problema es https://github.com/alessiosavi/GoGPUtils/issues/2.

Para obtener un mensaje de error más completo y útil, debe visitar la URL que devolvió 410 en el mensaje de error que recibió:

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

Dice:

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"

O configure GOSUMDB=off además de configurar 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"

Como siempre, otro día, otro problema resuelto por @dmitshur. Gracias por el esfuerzo (:

Otra versión de Go, otra variable ENV para cuidar y configurar en Dockerfiles 🤣

Esencialmente como @dmitshur señaló correctamente:
export GOSUMDB=off
Ayudó.

Este hilo me salvó. Gracias.

A las herramientas de Go les vendrían muy bien los mensajes de error un poco pulidos. Estaba realmente perdido con un mensaje como el siguiente. No sé casi nada sobre los nuevos desarrollos relacionados con los módulos (¡excepto que elogio la intención!), Y tener mensajes de error impenetrables hace que sea realmente difícil migrar.

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

Ah, para proporcionar algunas pistas más para las personas que encuentran este hilo: export GOSUMDB=off ayudó a solucionar el problema, pero al menos en mi caso lo "adecuado" (en el sentido de que no toca cómo las dependencias públicas se accede) la corrección es establecer export GOPRIVATE=ghe.internalrepo.co.jp . Sin embargo, todavía me desconcierta cómo no intentaría acceder directamente al repositorio después de fallar con GOSUMDB, sino simplemente fallar de inmediato con un mensaje críptico. Para los desarrolladores de Go: el mensaje parece mucho más críptico si no conoces los conceptos, ¡así que por favor haz un trabajo de UX!

¿Fue útil esta página
0 / 5 - 0 calificaciones