I developed a repo on computer A and created a go.mod/go.sum that I checked in.
I pull that repo with the go.mod/go.sum files on computer B, but when I try to build the program, the module constraints can't be satisfied.
$ go build
go: finding github.ibm.com/kms/key-protect-client v0.1.5
go: finding golang.org/x/tools v0.0.0-20180221164845-07fd8470d635
go: github.ibm.com/kms/key-protect-client@v0.1.5: unknown revision v0.1.5
go: error loading module requirements
The repo that is failing is a private repo, and for some reason it doesn't get downloaded to the module cache. On another computer, the dependencies are downloaded and the build succeeds. I am building another private repo in that same domain, so I know that my github credentials give me access to these repos. But for some reason, the go module system can't get to the dependent repo.
I cannot find more information how to debug this.
Problem is related to cmd/go not being aware of git identities and assuming there is only one articulated in the .gitconfig file.
Work-around: have a set of git identities ready to replace global .gitconfig when you need to work with that git identity and are dealing with cmd/go tools that update the module file.
In case getting
"Error": "unknown revision ..."
or
"Error": "invalid version ..."
Make sure that you did not specify hash of PR (pull request). Even a merged PR might be wrong.
Look for the commit hash in the github repo under /commits
, but not under /pulls
.
See more info here: golang/go#31191 explicitly filters out these kind of commits.
In line with some comments above -- I had this problem because my git was fried due to updating to Mojave... the highly upvoted response here (xcode-select --install
) got me past this error message Git is not working after macOS Mojave Update (xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
if you are having this problem make sure your go status
etc are working as expected.