Same as title. go modプロジェクトのあるブランチを go build
したら
$ go build
go: <repo>@v0.0.0-20200503112449-<commit hash>: invalid version: unknown revision <commit hash>
というエラーになった。SSHもGOPRIVATEも正しく設定できているはずだ。GithubのWeb上で、commit hashが存在することも確認した。なぜunknown refisionなのか。しばらくハマったが、このIssueがヒントになって解決した。
cmd/go: invalid version: unknown revision when GOPROXY/GOSUMDB disabled · Issue #36624 · golang/go
GithubのWeb上では確かにcommitがあったが、実はこれはただのキャッシュである。ローカルで git show <commit hash>
すると、実はすでにコミットハッシュは存在しない。特定ブランチを指定して go get
して、その後 <repo>
側でそのブランチがdeleteされたらしい。なるほどまさしく unknown revision である。
で、go get <repo>@master
で更新しようとしても、同じエラーが出て更新されないので、go.mod
から一度該当パッケージを削除し、改めて go get <repo>@master
を実行したところ無事に更新できた。
以上。