Si estás trabajando con go
en una empresa, puede que tu proyecto tenga dependencias privadas de la misma organización.
Para poder acceder a esos módulos privados tendrás que agregar una variable de entorno a tu entorno local, de esa forma go
clonará los proyectos utilizando git
, en vez de fallar cuando intenta buscarlos a través del proxy de módulos de Go.
1.Agregar la variable de entorno (supongamos que la empresa es Platzi💚):
export GOPRIVATE="github.com/platzi"# Si usas Go 1.13+ podés ejecutar:
go env -w GOPRIVATE="github.com/platzi"
2.Configura git
para que use ssh
con Github
Una vez que definas la variable de entorno GOPRIVATE
, Go va a usar git para clonar los repositorios que coincidan con ella. Por defecto, Go clona los módulos utilizando http
pero para poder autenticarte con Github y poder clonar repositorios privados necesitarás que utilice ssh
. Para forzar a git
a usar ssh
en Github, necesitas agregar lo siguiente en tu ~/.gitconfig
:
[url"ssh://[email protected]/"]
insteadOf = https://github.com/
¡Voilá! ¡Ya puedes sincronizar las dependencias privadas de tu proyecto!
Disclaimer: Originalmente, publiqué este tutorial como un comentario en la penúltima clase del curso