GO1.13でGOPRIVATEが追加されたよ
みなさまこんばんわ
Gジェネレーションクロスレイズが面白すぎて大変です
さて、Goの1.13から
https://golang.org/cmd/go/#hdr-Module_configuration_for_non_public_modules
こちらのはてぶにも書いてありますが、
GHEはプライベートリポジトリなので、go getする際にこの設定を入れないと下記のようなエラーがでるようになるようです。
今後、プライベートリポジトリ参照の際には、
Gジェネレーションクロスレイズが面白すぎて大変です
さて、Goの1.13から
GOPRIVATE
という設定が追加されました。https://golang.org/cmd/go/#hdr-Module_configuration_for_non_public_modules
こちらのはてぶにも書いてありますが、
セキュリティの観点から sumdb からチェックサムを取得できなかった場合は go コマンドの実行を中止し、他の proxy へプライベートなモジュールのパスを流出させない
ようになっているようです。GHEはプライベートリポジトリなので、go getする際にこの設定を入れないと下記のようなエラーがでるようになるようです。
verifying git.private.com/hoge/uge/go.mod: git.private.com/hoge/huge/go.mod: reading https://sum.golang.org/lookup/git.private.com/hoge/huge: 410 Gone
今後、プライベートリポジトリ参照の際には、
GOPRIVATE=git.private.com/hoge/huge
のようにリポジトリ単位で GOPRIVATE
をつける必要があります。( 一応、GOPROXY=direct GOSUMDB=off
でもいけたりします )## GOPRIVATEなし
root@7556ce9d3f48:/huge# go get -u git.private.com/hoge/huge
verifying git.private.com/hoge/huge/go.mod: git.private.com/hoge/huge/go.mod: reading https://sum.golang.org/lookup/git.private.com/hoge/huge: 410 Gone
## GOPRIVATEあり
root@7556ce9d3f48:/huge# GOPRIVATE=git.private.com/hoge/huge go get -u git.private.com/hoge/huge
go: finding git.private.com/hoge/huga
go: downloading git.private.com/hoge/huga
go: extracting git.private.com/hoge/huga
go build git.private.com/hoge/huga: no non-test Go files in /go/pkg/mod/git.private.com/hoge/huga