今日は — FIX :プライベートリポジトリのリターンエラー読み込みサムを取得します.ゴラン.ルックアップ
6198 ワード
固定エラー: git hostを検証するエラーメッセージパターンを持つプライベートモジュールのgomoduleを取得します。ゴラン.を参照してください
今日は晴れた日、日曜日のFundayに、しかし、私が1時間猛烈になった何かによって台無しになりました.実は昨晩(土曜日の夜)からこの問題に立ち往生しましたが、本当に疲れているので、日曜日にまた休んで休むことにします.
それで、私はMabarに取り組んでいましたhttps://mabar.id ) 私の側プロジェクトの1つとして.これはまだベータ版では、まだ多くの機能が不足している、あなたはAndroidのプレイストアでそれを試すことができますhere
私はこのMabarに高い期待を持っています、それは多くのインターフェース(モバイル、デスクトップ、ウェブ)で利用できるプラットホームでなければなりません.技術スタックのために、私はバックエンドとしてゴランを使用します、基盤としてのKubernetesとそれらの後のデジタル海.
問題
問題は、プライベートモジュール(golang module)、私のバックエンドAPIによってインポートされる簡単なライブラリがあります.しかし、どうにか、私はモジュールを得ることができなくて、私がgo - getコマンドをするとき、常にエラーをもたらします.
パッケージ名がルシファーだとしましょう.そして、常に端末にエラーを投げます.それは本当に私に怒った.
$ go get -v bitbucket.org/compay/lucifer
go: finding bitbucket.org/compay/lucifer latest
go: downloading bitbucket.org/compay/lucifer v0.0.0-20190921175342-61a76c096369
**verifying bitbucket.org/compay/[email protected]: bitbucket.org/compay/[email protected]: reading** [**https://sum.golang.org/lookup/bitbucket.org/**](https://sum.golang.org/lookup/bitbucket.org/gokar/[email protected]) **compay** [**/[email protected]**](https://sum.golang.org/lookup/bitbucket.org/gokar/[email protected]) **: 410 Gone**
あなたがメッセージを見るならば、パッケージがなくなっているか、合計で利用できないと言います.ゴラン.org.最初に、私がここでそれを書くように、私がbitbucketにsshを強制するのを忘れたので、これが起こると思います.https://medium.com/easyread/today-i-learned-fix-go-get-private-repository-return-error-terminal-prompts-disabled-8c5549d89045
しかし、まだうまくいきませんでした.GETコマンドを実行しても、まだエラーを返すことがあります.
根本原因
それで、インターネット上でこの問題を捜した後に、私は根本原因を見つけました.これはバージョン1.13からのGolangでのみ起こります.私はこのリリースを読んだ後、これを確認することができますhttps://golang.org/doc/go1.13#modules
したがって、このゴラン版でプロキシに関する新機能があるので、これは起こりました.
解決策
実際に私たちが選ぶことができるいくつかの解決策があります.
The new GOPRIVATE environment variable indicates module paths that are not publicly available. It serves as the default value for the lower-level GONOPROXY and GONOSUMDB variables, which provide finer-grained control over which modules are fetched via proxy and verified using the checksum database.
つまり、上記の問題を解決するためには、Goprivate変数をシステム内で埋めることができます.このコマンドを~/.BASHRCあなたの会社/org名に基づいて輸出価値を変えてください.
**export** **GOPRIVATE** ="gitlab.com/ **idmabar** ,bitbucket.org/ **idmabar** ,github.com/ **idmabar**"
そして、これが働いたかどうか確かめるために、あなたはgo envコマンドをすることができます.それはこのようにすべきである.$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/imantumorang/Library/Caches/go-build"
GOENV="/Users/imantumorang/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/imantumorang/go"
**GOPRIVATE="gitlab.com/idmabar,bitbucket.org/idmabar,github.com/idmabar"**
GOPROXY="[https://proxy.golang.org,direct](https://proxy.golang.org,direct)"
GOROOT="/usr/local/Cellar/go/1.13/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.13/libexec/pkg/tool/darwin\_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO\_ENABLED="1"
GOMOD=""
CGO\_CFLAGS="-g -O2"
CGO\_CPPFLAGS=""
CGO\_CXXFLAGS="-g -O2"
CGO\_FFLAGS="-g -O2"
CGO\_LDFLAGS="-g -O2"
そして今、私は私のプライベートリポジトリのGoコマンドを行うことができます.$ go get bitbucket.org/company/lucifer
go: finding bitbucket.org/company/lucifer latest
go: downloading bitbucket.org/company/lucifer v0.0.0-20190921175342-61a76c096369
go: extracting bitbucket.org/company/lucifer v0.0.0-20190921175342-61a76c096369
したがって、このenv変数は、パッケージを取得するためにプライベートホストプロキシを使用するGoコマンドを教えます.それで、環境変数でこれを設定できます:
**export** **GONOSUMDB** ="gitlab.com/idmabar,bitbucket.org/idmabar,github.com/idmabar"
実際にこの問題は、新しいゴラン版1.13以降でのみ発生します.Golangバージョンを更新する前に、この環境変数を設定してください.ここではいくつかのリンクは、この問題に関連する可能性がありますnoveaustack これを見つけて、stackoverflowでこれを掲示するために、私はちょうどこの問題を知っていて、私が学んだ新しいものとしてこれを書き直しました.
参考文献
Reference
この問題について(今日は — FIX :プライベートリポジトリのリターンエラー読み込みサムを取得します.ゴラン.ルックアップ), 我々は、より多くの情報をここで見つけました https://dev.to/bxcodec/today-i-learned-fix-go-get-private-repository-return-error-reading-sumgolangorglookup-4kjhテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol