Blog de programación, errores, soluciones

Chose Language:
Author: Admin/Publisher |finished | checked

Como Instalar Go en Linux

Como instalar y desinstalar go en linux y solucionar el problema de ‘Comand go not found’ o ‘command not found: go’.

Esta sección la hago debido a algo que me paso despues de instalar go y es que al apagoar la pc y correr go nuevamente me aparece ‘Comand go not found’ o ‘command not found: go’

Si tienes alguna instalación de go y estás instalando una nueva versión tendrás que desinstalarla.

Desinstalación de Go

El directorio de go se encuentra en /usr/local/go. En otras palabras puedes usar:

  rm -rf /usr/local/go

En la guía de desinstalación de go nos dice que debemos quitar el directorio bin de nuestro PATH(environment variable)

Remove the Go bin directory from your PATH environment variable.

Under Linux and FreeBSD, edit /etc/profile or $HOME/.profile. If you installed Go with the macOS package, remove the /etc/paths.d/go file.

https://golang.org/doc/manage-install

pero no nos dice como hacerlo.

Lo primero que debe hacer es saber es cual es la variable de entorno o PATH como desee llamarle.

echo $PATH
/home/luis/dotnet:/home/luis/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Luego de esto le diría que copie el PATH que le da a cambio y lo modifique para que no posea el bin de go.

export PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Listo eso deberia ser todo para Linux.

Instalar Go

Para instalar debemos bajar el archivo de la página de go https://golang.org/dl/ seleccionamos linux, una vez bajado el archivo debemos extraer este en /usr/local para esto usé el siguiente código en consola.

Carpeta donde esté el tar.gz
sudo tar -C /usr/local -xzf go1.15.6.linux-amd64.tar.gz

Por último deberíamos agregar /usr/local/go/bin al PATH(environment variable).

Para ello tenemos que correr:

 export PATH=$PATH:/usr/local/go/bin

El cambio no se dará hasta el reingreso de usuario.

Puede verificar que go fue instalado con el siguiente comando:

chequea version
go version

‘Comand go not found’ o ‘command not found: go’

En mi caso luego de hacer esto, luego de reiniciar el pc go verion me da el error que hablamos al inicio de este tema para solucionar este error lo que puede hacer es colocar

~/{.bashrc} or {.zshrc}
export PATH=$PATH:/usr/local/go/bin

Dentro de su archivo .bashrc o el archivo .zshrc si está usando zsh

Configuración de GOPATH

Puedes configurar en que carpeta quieres que tu código esta con GOPATH, primero deberemos crear una carpeta donde estara nuestro código.

crea la carpeta go
mkdir -p ~/go

para setear el gopath environment puedes usar export GOPATH

setting GOPATH
export GOPATH="~/go"

El export anterior es probable que no ande en las versiones nuevas de go y le recomiendo utilizar el siguiente:

setting GOPATH [opción 2]
export GOPATH="/home/<your_user>/go/"

En caso de haber corrido el comando anterior puedes correr el que utiliza el camino completo asi lo sobreescribira.

ademas vas a necesitar las carpetas src, bin, pkg dentro de la carpeta que emos puesto en el gopath en mi caso es ~/go

creando distintas carpetas dentro de la carpeta go
mkdir -p ~/go/src
mkdir -p ~/go/bin
mkdir -p ~/go/pkg

Por ultimo tendríamos que tener una carpeta github.com para los repositorios clonados en la carpeta src

crea una carpeta github.com en src
mkdir -p ~/go/src/github.com

Mi recomendación para saber si necesitamos configurar GOPATH es que intentes usar una libreria externa como puede ser fyne.io

Con la última versión de go creo que no es necesario configurar el gopath y simplemente podemos crear una carpeta dentro de /usr/local/go/src pero probablemente estés usando la versión de go que viene con Linux, en ese caso es probable necesitarla.

Category: go
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category