go version
)?$ goバージョン goバージョンgo1.13.3linux / amd64
はい
go env
)?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 = ""
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"
他の依存関係を含まないカスタム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
注目してください: //proxy.golang.org/YOUR_MODULE_GITH_URL/@v/VERSION.info
https://proxy.golang.org/github.com/alessiosavi/!go!g!p!utils/ @ v /v0.0.9.infoのようです
私の場合、エラーは名前の大文字小文字だけが異なる2つのファイルに関連しているようです。
問題は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"
または、 GOPROXY=direct
設定に加えて、 GOSUMDB=off
を設定します。
$ 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
を設定すること
最も参考になるコメント
問題はhttps://github.com/alessiosavi/GoGPUtils/issues/2です。
より完全で役立つエラーメッセージを取得するには、次のエラーメッセージで410を返したURLにアクセスする必要があります。
https://sum.golang.org/lookup/github.com/alessiosavi/!go!g!p!utils @ v0.0.9
それは言う:
または、
GOPROXY=direct
設定に加えて、GOSUMDB=off
を設定します。