web-dev-qa-db-ja.com

GOPRIVATE環境変数を設定する方法

私はGoプロジェクトの作業を開始し、Githubのプライベートリポジトリからいくつかのプライベートモジュールを使用しています。go run main.goを実行しようとすると、以下の410 Goneエラーが表示されます。

github.com/repoURL/[email protected]+incompatible/go.mod:github.com/repoURL/[email protected]+incompatible/go.mod:reading https:// sum.golang.org/lookup/github.com/!repoURL/[email protected]+incompatible :410 Gone

ターミナルからプライベートリポジトリを簡単に複製できます。つまり、sshキーが正しく構成されています。私は here を読み、GOPRIVATE環境変数を設定する必要がありますが、その方法がわかりません。

誰もが関連するチュートリアルに答えたり指摘したりできますか?

Go:v1.13、OS:macOS Mojave

14
UsamaAmjad

簡潔な答え:

go env -w GOPRIVATE=github.com/repoURL/private-repo

[〜#〜]または[〜#〜]

組織からのすべてのプライベートリポジトリを許可する場合

go env -w GOPRIVATE=github.com/{OrgNameHere}/*

長い答え:

詳細については、 "非公開モジュールのモジュール構成" を確認してください。

GOPRIVATE環境変数は、goコマンドがプライベート(パブリックには使用不可)と見なすモジュールを制御するため、プロキシまたはチェックサムデータベースを使用しないでください。変数は、モジュールパスプレフィックスの(Goのpath.Matchの構文の)グロブパターンのコンマ区切りリストです。例えば、

 GOPRIVATE=*.corp.example.com,rsc.io/private

goコマンドは、git.corp.example.com/xyzzy、rsc.io/private、rsc.io/private/quuxなど、いずれかのパターンに一致するパスプレフィックスを持つ任意のモジュールをプライベートとして扱います。

。 。

'go env -w'コマンド( 'go help env'を参照)を使用して、これらの変数を将来のgoコマンド呼び出しに設定できます。


Sshの使用に関する注意:

sshを使用してgit repo(ローカルにホストされている)にアクセスする場合は、~/.gitconfigに以下を追加することをお勧めします。

[url "ssh://[email protected]/"]
       insteadOf = https://git.local.intranet/

goコマンドがgitサーバーにアクセスできるようにするため。

19
ifnotak