Instalando Go lenguaje de programación en Linux no es gran cosa. Solo tomará unos minutos instalar y configurar el idioma Go. Lo bueno es que ahora es aún más fácil instalar Golang en Linux usando Update-golang guión.
Update-golang es un script de shell para obtener e instalar fácilmente las últimas versiones de Golang con una interacción mínima del usuario. Ahora cualquiera puede instalar fácilmente una versión estable de Go en su máquina Linux con la ayuda de este script. ¡Todo está automatizado! Simplemente ejecute este script y siéntese. Este script hará lo siguiente:
- Primero, el script Update-golang buscará el último binario de Golang disponible en la página del historial de versiones de Golang.
- A continuación, encontrará la arquitectura y la versión del sistema operativo de su sistema Linux para descargar el binario correspondiente. Los archivos descargados se guardarán en
/usr/local
directorio. Puede eliminarlos después de instalar Go. - Una vez que se descarga el binario Go correcto, se instala en
/usr/local/go
ubicación. - A continuación, la ruta
/usr/local/go/bin
se agrega a su$PATH
. - Y luego, configurará la ruta GOROOT.
- Finalmente, probará la instalación de Golang ejecutando un
hello world
programa.
Este script no es solo para una nueva instalación, ¡también puede usarlo para actualizar la versión de Go instalada actualmente a la próxima versión disponible!
Instalar Golang en Linux usando el script Update-golang
Descargue el script Update-golang clonando su repositorio desde GitHub:
$ git clone https://github.com/udhos/update-golang
El comando anterior clonará el contenido del repositorio oficial de actualización-golang en un directorio local llamado update-golang
. Cd en este directorio:
$ cd update-golang
Siempre se recomienda comprobar la integridad de un script descargado de Internet. Así que hagámoslo verificando el valor CHECKSUM del script update-golang:
$ wget -qO hash.txt https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh.sha256
$ sha256sum -c hash.txt
Si obtiene una salida como OK, está listo para continuar.
update-golang.sh: OK
Después de verificar el chekcsum, ejecute el siguiente comando para instalar la última versión de Golang en su máquina Linux:
$ sudo ./update-golang.sh
Salida de muestra:
update-golang.sh: version 0.24 update-golang.sh: find_latest: found last release: 1.16.2 update-golang.sh: user: uid=0(root) gid=0(root) groups=0(root) update-golang.sh: RELEASE_LIST=https://golang.org/dl/ update-golang.sh: SOURCE=https://storage.googleapis.com/golang update-golang.sh: DESTINATION=/usr/local update-golang.sh: RELEASE=1.16.2 update-golang.sh: OS=linux update-golang.sh: ARCH_PROBE=uname -m update-golang.sh: ARCH=amd64 update-golang.sh: PROFILED=/etc/profile.d/golang_path.sh update-golang.sh: CACHE=/usr/local update-golang.sh: GOPATH= update-golang.sh: DEBUG= update-golang.sh: update-golang.sh: will install golang go1.16.2.linux-amd64 as: /usr/local/go update-golang.sh: https://storage.googleapis.com/golang/go1.16.2.linux-amd64.tar.gz is remote --2021-03-30 06:02:35-- https://storage.googleapis.com/golang/go1.16.2.linux-amd64.tar.gz Resolving storage.googleapis.com (storage.googleapis.com)... 2404:6800:4009:81f::2010, 2404:6800:4009:820::2010, 2404:6800:4009:81d::2010, ... Connecting to storage.googleapis.com (storage.googleapis.com)|2404:6800:4009:81f::2010|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 129010536 (123M) [application/octet-stream] Saving to: ‘/usr/local/go1.16.2.linux-amd64.tar.gz’ /usr/local/go1.16.2.linux-amd64.t 100%[=============================================================>] 123.03M 501KB/s in 5m 2s 2021-03-30 06:07:40 (417 KB/s) - ‘/usr/local/go1.16.2.linux-amd64.tar.gz’ saved [129010536/129010536] update-golang.sh: remove_old_link: not found symlink for old install update-golang.sh: untar: tar -x -f /usr/local/go1.16.2.linux-amd64.tar.gz update-golang.sh: profile_path_add: issuing new /usr/local/go/bin to /etc/profile.d/golang_path.sh update-golang.sh: profile_path_add: issuing $HOME/go/bin to /etc/profile.d/golang_path.sh update-golang.sh: golang go1.16.2.linux-amd64 installed at: /usr/local/go update-golang.sh: testing: /usr/local/go/bin/go version update-golang.sh: unsudo: running_as_root:ostechnix: /usr/local/go/bin/go version update-golang.sh: go version go1.16.2 linux/amd64 update-golang.sh: /usr/local/go/bin/go version: SUCCESS update-golang.sh: unsudo: running_as_root:ostechnix: mktemp -t hello-tmpXXXXXXXX update-golang.sh: unsudo: running_as_root:ostechnix: tee /tmp/hello-tmpqGBVcjhy.go update-golang.sh: testing: /usr/local/go/bin/go run /tmp/hello-tmpqGBVcjhy.go update-golang.sh: unsudo: running_as_root:ostechnix: /usr/local/go/bin/go run /tmp/hello-tmpqGBVcjhy.go update-golang.sh: hello, world update-golang.sh: /usr/local/go/bin/go run /tmp/hello-tmpqGBVcjhy.go: SUCCESS update-golang.sh: running_as_root: yes update-golang.sh: recursively forcing build cache [/home/ostechnix/.cache/go-build] ownership to 1000:1000

Consulte la versión de Golang y la información del entorno
Para verificar la versión de Go instalada, ejecute:
$ go version
go version go1.16.2 linux/amd64
Como puede ver, el script Update-golang ha instalado la versión de Go 1.16.2 . Esta es la última versión estable de Go al momento de escribir esta guía.
Para imprimir la información del entorno de Go, ejecute:
$ go env
Salida de muestra:
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ostechnix/.cache/go-build"
GOENV="/home/ostechnix/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/ostechnix/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/ostechnix/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16.2"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build883237217=/tmp/go-build -gno-record-gcc-switches"
Instalar Golang beta o versión candidata (RC)
De forma predeterminada, el script Update-golang instalará la última versión estable. Si desea instalar cualquier versión beta o candidata a lanzamiento, mencione explícitamente la versión como se muestra a continuación:
Instalar la versión beta de Golang:
$ sudo RELEASE=1.9beta1 ./update-golang.sh
Instalar versión candidata (RC):
$ sudo RELEASE=1.11rc1 ./update-golang.sh
Instalación por usuario de Golang
De forma predeterminada, el script Update-golang instala Golang en todo el sistema. Si desea instalar Golang para el usuario actual, simplemente cree un directorio de instalación, por ejemplo ~/golang
:
$ mkdir ~/golang
Y luego instale GO usando el comando:
$ DESTINATION=~/golang PROFILED=~/.profile ./update-golang.sh
Tenga en cuenta que la instalación por usuario no necesita root
o sudo
permiso.
Evitar el almacenamiento en caché de archivos descargados
Como se mencionó anteriormente, el script Update-golang mantendrá los archivos descargados en /usr/local
directorio. Si no desea almacenar en caché los archivos de almacenamiento, simplemente use -declutter
opción:
$ sudo ./update-golang.sh -declutter
Esta vez, los archivos de instalación no se almacenarán en caché.
Eliminar Golang
Para deshacer todos los pasos realizados por el script Update-golang, vaya al directorio clonado y ejecute:
$ sudo ./update-golang.sh remove
Este comando eliminará Go y todas las entradas relacionadas de $PATH.
update-golang.sh: version 0.24
update-golang.sh: find_latest: found last release: 1.16.2
update-golang.sh: remove: found symlink for old install: /usr/local/go1.16.2.linux-amd64
update-golang.sh: remove: removing symlink: /usr/local/go
update-golang.sh: remove: removing dir: /usr/local/go1.16.2.linux-amd64
update-golang.sh: profile_path_remove: removing old settings from: /etc/profile.d/golang_path.sh