Git clone/get username error
Ao realizar um download de dependência de um projeto Go ao fazer um go get <link-repositório> e obtive um e “username error” mesmo com projeto clonado via ssh e com as permissões corretas no github.
fatal: could not read Username for 'https://github.com': No such file or director
yfatal: could not read Username for 'https://github.com': terminal prompts disabled
Solução
Primera parte
Primeiro crie a variável de ambiente para seu repositório privado ou sua organização
go env -w GOPRIVATE=github.com/repoURL/private-repo
Se você quiser liberar para todos os repositórios privados da seu ou da sua organização
go env -w GOPRIVATE=github.com/<NomeOrganização>
Ou
export GOPRIVATE="github.com/<NomeOrganização>"
Segunda parte
Depois de definir GOPRIVATE, o resolvedor de módulos Go usará git para clonar repositórios que correspondem ao valor na variável env. Os módulos Go clones usando https por padrão, a fim de autenticar com o Github e ser capaz de clonar repositórios privados que você geralmente precisa para usar o ssh. Para forçar o git a usar ssh no Github, você precisa definir as seguintes linhas em seu ~/.gitconfig
:
[url "ssh://[email protected]/"]
insteadOf = https://github.com/
Pronto! Com esses dois pequenos passos eu consegui resolver o problema pra mim e espero que resolva para vocês!