PrivateなGo Modulesを管理する
go mod tidy したときにプライベートリポジトリにあるモジュールを指定した状態でそのまま go mod tidy するとモジュールが取得できなくてエラーになる事がある。
GOPRIVATE を指定する
go mod tidy したときに 410 Gone がログに出るのが特徴
まずプライベートなモジュールを環境変数で明示するとよい
go env を使っても良い
code:sh
# 指定のOrganization配下のすべてをプライベートモジュールとして指定する
export GOPRIVATE=github.com/<Organization>/*
# 指定のRepository配下のすべてをプライベートモジュールとして指定する
export GOPRIVATE=github.com/<Organization>/<Repository>
Git の設定を調整する
fatal: could not read Username for 'https://*****' と出るのが特徴
プライベートなモジュールを取得するときに認証が必要な場合は対応するSSHの秘密鍵を使うか、Personal Access Token を使って認証するように .gitconfig に追記すると良い。
code:sh
# GitHubの場合
# GHESなどの場合