GOPATH en Ubuntu: cómo no volverse loco (y el código)
Seguramente te ha pasado: acabas de instalar Go en Ubuntu, abres la terminal, escribes go run main.go, y como respuesta, silencio. O, peor aún, un mar rojo de errores mencionando GOPATH. Si has buscado este problema en Google, casi seguro que has visto esa famosa pregunta en Stack Overflow con miles de visitas: "How do I SET the GOPATH environment variable on Ubuntu? What file must I edit?". ¿Te suena ese dolor? Bienvenido al club.
Yo mismo perdí medio día tratando de entender por qué Go no veía mis paquetes, aunque "lo había hecho todo bien". Spoiler: lo hice mal. En este artículo analizaremos los principales errores al configurar GOPATH en Ubuntu, aprenderemos a evitarlos y, por fin, configuraremos el entorno para que funcione como un reloj suizo.
¿Qué es GOPATH y por qué sigue siendo importante?
Antes de meternos en detalles, recordemos qué es GOPATH. En el mundo de Go (especialmente en versiones anteriores a la 1.16) era la vaca sagrada. GOPATH es la ruta al directorio de trabajo de Go donde se almacenan tus fuentes, binarios compilados y paquetes de terceros. Por defecto en Ubuntu se establece en $HOME/go, pero muchos desarrolladores (especialmente los que trabajan con múltiples proyectos) lo cambian.
Con la llegada de Go Modules (a partir de Go 1.11) la necesidad de gestionar manualmente GOPATH disminuyó, pero no desapareció por completo. Si trabajas con proyectos antiguos, usas go get o simplemente quieres que go install coloque los binarios en un lugar conveniente, igual tendrás que hacerte amigo de esta variable.
Top 5 errores al configurar GOPATH en Ubuntu
He recopilado los errores más comunes que cometen los principiantes (y no tan principiantes). Comprueba si no estás cayendo en alguno de ellos.
Error #1: Editar el archivo equivocado
La pregunta más popular en Stack Overflow. Los usuarios modifican /etc/environment, /etc/profile o incluso /etc/bash.bashrc. Sí, funciona, pero es una mala práctica. Los archivos del sistema son para configuraciones del sistema. Tu GOPATH es una variable personal y debe estar en los archivos de configuración del usuario.
Cómo hacerlo correctamente: edita ~/.bashrc (para Bash) o ~/.profile (si usas login shell). Si usas Zsh, es ~/.zshrc.
Error #2: Olvidar el export
A menudo veo en las configuraciones: GOPATH=$HOME/go sin export. Sin export, la variable no se transmitirá a los procesos hijos (incluyendo tu IDE y go build).
Sintaxis correcta:
export GOPATH=$HOME/goexport PATH=$PATH:$GOPATH/binError #3: No reiniciar la terminal
Editaste .bashrc, lo guardaste, y luego te quedas mirando un echo $GOPATH vacío. No ocurrirá magia hasta que apliques los cambios. El comando source ~/.bashrc es tu mejor amigo.
Error #4: Conflicto con Go Modules
Si usas go mod init para cada proyecto, GOPATH puede interferir. Especialmente si intentas trabajar dentro de $GOPATH/src. El Go moderno no requiere esto, pero si insistes en poner tu proyecto en ~/go/src/myproject, prepárate para errores inesperados.
Error #5: Espacios y caracteres especiales en la ruta
Ubuntu permite crear carpetas con espacios. No hagas esto para Go. /home/usuario/Mis Proyectos/go es un dolor de cabeza. Usa /home/usuario/proyectos/go o simplemente $HOME/go.
Instrucciones paso a paso: cómo configurar GOPATH correctamente
Hagámoslo de una vez por todas. Abre la terminal y ejecuta los comandos en orden.
Paso 1. Verifica la versión actual de Go
go versionBlogs
Book Recommendations
Leer también