When using go mod tidy to download modules from a private GitHub repository, users may encounter an error stating that the repository could not be found due to an invalid version. This error can occur even after configuring ~/.netrc with a personal access token and setting up ~/.gitconfig to use SSH instead of HTTPS.
The root cause of this issue lies in the fact that go mod tidy attempts to read the username for 'https://github.com' from the terminal and fails if it's disabled, as indicated by the error message "fatal: could not read Username for 'https://github.com': terminal prompts disabled."
To resolve this error and successfully download the private GitHub repository, modify ~/.gitconfig as follows:
[url "https://{{username}}:{{access_token}}@github.com"] insteadOf = https://github.com
where {{username}} and {{access_token}} should be replaced with the corresponding values for your GitHub account.
Additionally, ensure that a .netrc file is created with the following content:
machine github.com login {{username}} password {{access_token}}
Finally, verify that the private repository is included in GOPRIVATE=__YOUR_DOMAIN__. This configuration setting restricts the use of go mod tidy only to private repositories within the specified domain.
The above is the detailed content of Why Does `go mod tidy` Fail to Download My Private GitHub Repository?. For more information, please follow other related articles on the PHP Chinese website!