Installazione di Vai il linguaggio di programmazione in Linux non è un grosso problema. Ci vorranno solo pochi minuti per installare e configurare la lingua Go. La cosa buona è che ora è ancora più facile installare Golang in Linux usando Update-golang copione.
Update-golang è uno script di shell per recuperare e installare facilmente le ultime versioni di Golang con la minima interazione dell'utente. Chiunque può ora installare facilmente una versione Go stabile sulla propria macchina Linux con l'aiuto di questo script. Tutto è automatizzato! Basta eseguire questo script e sedersi. Questo script eseguirà le seguenti operazioni:
- In primo luogo, lo script Update-golang cercherà l'ultimo binario Golang disponibile dalla pagina della cronologia delle versioni di Golang.
- Successivamente troverà la versione del sistema operativo e l'architettura del tuo sistema Linux per scaricare il binario corrispondente. I file scaricati verranno conservati in
/usr/local
directory. Puoi eliminarli dopo aver installato Go. - Una volta scaricato il file binario Go corretto, viene installato in
/usr/local/go
posizione. - Successivamente, il percorso
/usr/local/go/bin
viene aggiunto al tuo$PATH
. - E poi imposterà il percorso GOROOT.
- Infine, testerà l'installazione di Golang eseguendo un
hello world
programma.
Questo script non serve solo per la nuova installazione, ma puoi anche usarlo per aggiornare la versione Go attualmente installata alla successiva versione disponibile!
Installa Golang in Linux usando lo script Update-golang
Scarica lo script Update-golang clonando il suo repository da GitHub:
$ git clone https://github.com/udhos/update-golang
Il comando precedente clonerà il contenuto del repository ufficiale di update-golang in una directory locale denominata update-golang
. Cd in questa directory:
$ cd update-golang
Si consiglia sempre di verificare l'integrità di uno script scaricato da Internet. Quindi facciamolo verificando il valore CHECKSUM dello script update-golang:
$ wget -qO hash.txt https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh.sha256
$ sha256sum -c hash.txt
Se ottieni un output come OK, sei a posto.
update-golang.sh: OK
Dopo aver verificato il chekcsum, esegui il comando seguente per installare l'ultima versione di Golang sulla tua macchina Linux:
$ sudo ./update-golang.sh
Risultato di esempio:
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
Controlla la versione Golang e le informazioni sull'ambiente
Per verificare la versione Go installata, esegui:
$ go version
go version go1.16.2 linux/amd64
Come puoi vedere, lo script Update-golang ha installato la versione Go 1.16.2 . Questa è l'ultima versione stabile di Go al momento della stesura di questa guida.
Per stampare le informazioni sull'ambiente Go, esegui:
$ go env
Risultato di esempio:
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"
Installa Golang beta o versione release candidate (RC)
Per impostazione predefinita, lo script Update-golang installerà l'ultima versione stabile. Se desideri installare qualsiasi versione beta o release candidate, menziona esplicitamente la versione come di seguito:
Installa Golang beta:
$ sudo RELEASE=1.9beta1 ./update-golang.sh
Installa la versione candidata (RC):
$ sudo RELEASE=1.11rc1 ./update-golang.sh
Installazione per utente di Golang
Per impostazione predefinita, lo script Update-golang installa Golang a livello di sistema. Se vuoi installare Golang per l'utente corrente, crea semplicemente una directory di installazione, ad esempio ~/golang
:
$ mkdir ~/golang
E quindi installa GO usando il comando:
$ DESTINATION=~/golang PROFILED=~/.profile ./update-golang.sh
Tieni presente che l'installazione per utente non richiede root
o sudo
permesso.
Impedisci la memorizzazione nella cache dei file scaricati
Come accennato in precedenza, lo script Update-golang manterrà gli archivi scaricati in /usr/local
directory. Se non vuoi memorizzare nella cache i file di archivio, usa semplicemente -declutter
opzione:
$ sudo ./update-golang.sh -declutter
Questa volta i file di installazione non verranno memorizzati nella cache.
Rimuovi Golang
Per annullare tutti i passaggi eseguiti dallo script Update-golang, vai alla directory clonata ed esegui:
$ sudo ./update-golang.sh remove
Questo comando rimuoverà Go e tutte le voci correlate da $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