domingo, 12 de mayo de 2019

Instalar Go en Linux Ubuntu 16.04 LTS Xenial Xerus

Bueno en esta entrada voy a ser concreto y directo a los pasos a seguir para realizar la instalación de las herramientas de Go para poder desarrollar usando el lenguaje de programación Go en una distribución de Linux Ubuntu 16.04 LTS Xenial Xerus.

Esta entrada la quiero hacer por que actualmente me encuentro realizado una prueba técnica propuesta por una empresa, la cual debe ser desarrollada usando el lenguaje de programación Go.


Paso 1: Descarga

Primero debemos descargar los binarios de la ultima versión estable de Go para Linux la cual requiere de un procesador de 64bit del siguiente link, https://golang.org/dl/ esto nos debe descargar un archivo .tar.gz con la siguiente estructura de nombre go$VERSION.$OS-$ARCH.tar.gz por ejemplo go1.12.5.linux-amd64.tar.gz


Paso 2: Instalar

Después de realizar la descarga del binario de Go procedemos a realizar la instalación en nuestro sistema Linux, para esto simplemente debemos descomprimir el contenido del archivo .tar.gz descargado en el directorio de programas instalados localmente /usr/local/ ejecutando el siguiente comando como usuario root:

usuario@Linux:# tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz


Paso 3: Configurar PATH

Como paso adicional del proceso de instalación hay que agregar a la variable de entorno PATH de nuestro sistema Linux la ubicación del directorio de los binarios de Go, esto lo hacemos de forma global a todo el sistema Linux agregando la siguiente linea de código al final del archivo /etc/profile

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

Para aplicar los cambios hechos al archivo /etc/profile ejecutamos el siguiente comando:

usuario@Linux:# source /etc/profile


Paso 4: Probar

Bueno, finalmente lo que debemos hacer es probar que todo el proceso de instalación funciona correctamente, para esto debemos configurar el directorio de espacio de trabajo de Go, por defecto debe estar creado en el directorio $HOME/go del usuario Linux con la siguiente estructura:

El directorio $HOME/go debe contener un directorio src para contener todos los archivo de código fuente Go y debe contener un directorio bin para todos los ejecutables generados a partir del código fuente Go.

$HOME/go
             $HOME/go/src
             $HOME/go/bin

Para realizar la prueba, creamos un directorio /hello dentro del directorio $HOME/go/src donde creamos el archivo de código fuente hello.go con el siguiente contenido:
package main

import "fmt"

func main() {
 fmt.Printf("hello, world\n")
}
Luego de guardar el archivo hello.go creamos un build y ejecutamos:
$ cd $HOME/go/src/hello
$ go build
$ ./hello
hello, world
Para generar un binario a partir de la anterior build ejecutamos el comando go install dentro del mismo directorio $HOME/go/src/hello lo cual genera un archivo binario en el directorio $HOME/go/bin si en algún momento deseamos eliminar el archivo binario ejecutamos el comando go clean -i


Listo, eso es todo, pero creo que para desarrollo de aplicaciones podríamos en algún momento tener la necesidad de modificar la ubicación del directorio de trabajo de Go, para esto debemos seguir las instrucciones descritas en la documentación de Go https://golang.org/doc/code.html#Workspaces y con esto ya podemos desarrollar nuestras aplicaciones a nuestro antojo.