Installation von Go Programmiersprache unter Linux ist keine große Sache. Die Installation und Konfiguration der Go-Sprache dauert nur wenige Minuten. Das Gute ist, dass es jetzt noch einfacher ist, Golang unter Linux mit Update-golang zu installieren Skript.
Update-golang ist ein Shell-Skript zum einfachen Abrufen und Installieren der neuesten Golang-Versionen mit minimaler Benutzerinteraktion. Mit Hilfe dieses Skripts kann nun jeder ganz einfach eine stabile Go-Version auf seinem Linux-Rechner installieren. Alles ist automatisiert! Führen Sie einfach dieses Skript aus und lehnen Sie sich zurück. Dieses Skript macht Folgendes:
- Zunächst sucht das Update-golang-Skript die neueste verfügbare Golang-Binärdatei auf der Golang-Versionsverlaufsseite.
- Als nächstes wird es die Betriebssystemversion und -architektur Ihres Linux-Systems finden, um die passende Binärdatei herunterzuladen. Die heruntergeladenen Dateien werden unter
/usr/local
gespeichert Verzeichnis. Sie können sie nach der Installation von Go löschen. - Sobald die korrekte Go-Binärdatei heruntergeladen wurde, wird sie unter
/usr/local/go
installiert Standort. - Als nächstes der Pfad
/usr/local/go/bin
wird zu Ihrem$PATH
hinzugefügt . - Und dann wird der GOROOT-Pfad eingerichtet.
- Schließlich wird die Golang-Installation getestet, indem ein
hello world
ausgeführt wird Programm.
Dieses Skript ist nicht nur für die Neuinstallation, Sie können es auch verwenden, um die aktuell installierte Go-Version auf die nächste verfügbare Version zu aktualisieren!
Installieren Sie Golang unter Linux mit dem Update-golang-Skript
Laden Sie das Update-golang-Skript herunter, indem Sie sein Repository von GitHub klonen:
$ git clone https://github.com/udhos/update-golang
Der obige Befehl klont den Inhalt des offiziellen update-golang-Repositorys in ein lokales Verzeichnis mit dem Namen update-golang
. Cd in dieses Verzeichnis:
$ cd update-golang
Es wird immer empfohlen, die Integrität eines aus dem Internet heruntergeladenen Skripts zu überprüfen. Lassen Sie uns das tun, indem wir den CHECKSUM-Wert des update-golang-Skripts überprüfen:
$ wget -qO hash.txt https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh.sha256
$ sha256sum -c hash.txt
Wenn Sie eine OK-Ausgabe erhalten, können Sie loslegen.
update-golang.sh: OK
Führen Sie nach Überprüfung der Prüfsumme den folgenden Befehl aus, um die neueste Golang-Version auf Ihrem Linux-Rechner zu installieren:
$ sudo ./update-golang.sh
Beispielausgabe:
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

Überprüfen Sie die Versions- und Umgebungsinformationen von Golang
Um die installierte Go-Version zu überprüfen, führen Sie Folgendes aus:
$ go version
go version go1.16.2 linux/amd64
Wie Sie sehen können, hat das Update-golang-Skript die Go-Version 1.16.2 installiert . Zum Zeitpunkt der Erstellung dieses Handbuchs ist dies die neueste, stabile Go-Version.
Um Informationen zur Go-Umgebung zu drucken, führen Sie Folgendes aus:
$ go env
Beispielausgabe:
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"
Installieren Sie Golang Beta- oder Release Candidate (RC)-Version
Standardmäßig installiert das Update-golang-Skript die neueste stabile Version. Wenn Sie Beta- oder Release Candidate-Versionen installieren möchten, erwähnen Sie die Version explizit wie unten:
Golang Beta installieren:
$ sudo RELEASE=1.9beta1 ./update-golang.sh
Release Candidate (RC) installieren:
$ sudo RELEASE=1.11rc1 ./update-golang.sh
Golang-Installation pro Benutzer
Standardmäßig installiert das Update-golang-Skript Golang systemweit. Wenn Sie Golang für den aktuellen Benutzer installieren möchten, erstellen Sie einfach ein Installationsverzeichnis, zum Beispiel ~/golang
:
$ mkdir ~/golang
Und dann installieren Sie GO mit dem Befehl:
$ DESTINATION=~/golang PROFILED=~/.profile ./update-golang.sh
Bitte beachten Sie, dass für die Installation pro Benutzer kein root
erforderlich ist oder sudo
Erlaubnis.
Cache heruntergeladener Dateien verhindern
Wie bereits erwähnt, speichert das Update-golang-Skript die heruntergeladenen Archive in /usr/local
Verzeichnis. Wenn Sie die Archivdateien nicht zwischenspeichern möchten, verwenden Sie einfach -declutter
Möglichkeit:
$ sudo ./update-golang.sh -declutter
Diesmal werden die Installationsdateien nicht zwischengespeichert.
Golang entfernen
Um alle vom Update-golang-Skript ausgeführten Schritte rückgängig zu machen, gehen Sie in das geklonte Verzeichnis und führen Sie Folgendes aus:
$ sudo ./update-golang.sh remove
Dieser Befehl entfernt Go und alle zugehörigen Einträge aus $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