Golang unter Ubuntu aktualisieren

30

Ich habe Ubuntu 14.4.03. Die mitgelieferte Standardversion golangwar 1.2.1. Ich möchte golangauf 1.4 oder höher updaten.

Nach der Suche fand ich den Weg, dies zu tun, indem ich zuerst die aktuelle go-Installation löschte und dann die neue Version erneut installierte.

Ich habe die folgenden go-Installationsdateien in folgendem Verzeichnis gefunden:

/usr/share/go
/usr/share/go/src/cmd/go
/usr/share/go/src/pkg/go
/usr/lib/go
/ur/lib/go/pkg/linux_amd64/go
/ur/lib/go/pkg/linux_amd64_race/go
/usr/bin/go

Welches Verzeichnis enthält was? Welche soll ich löschen? Wo sollte sich die neue Installation befinden? Es scheint, dass / usr / local normaler ist. Wie kommt es dann, dass Ubuntu standardmäßig wie oben ist?

Wie wäre die Vorgehensweise, um eine neue Version von Golang zu installieren?

Vielen Dank.

user3005720
quelle

Antworten:

8

Entfernen Sie zuerst Ihre aktuelle golangInstallation mit diesem Befehl. Sie müssen keine Dateien manuell entfernen, die von installiert wurden apt-get.

sudo apt-get purge golang

Für eine einfache Installation golang 1.4können Sie diese PPA verwenden

sudo add-apt-repository ppa:evarlast/golang1.4
sudo apt-get update

Jetzt können Sie verwenden

sudo apt-get install golang

Dadurch wird Version 1.4 installiert. Hier ist ein Link zum PPA.

Mark Kirby
quelle
Dies funktioniert jetzt nicht, da ppa entfernt wird. Die nächste Antwort funktioniert
Himanshu Sharma
45

ppa:evarlast/golang1.4arbeitet nicht für mich. Die manuelle Installation von Go ist unten angegeben.

Schritt 1 : Entfernen Sie den vorhandenen Golang

sudo apt-get purge golang*

Schritt 2 : Laden Sie die neueste Version von der offiziellen Website herunter. Klicke hier

Schritt 3 : Extrahieren Sie es mit dem folgenden Befehl in / usr / local . Ich verwende hier Go 1.11.4. Möglicherweise müssen Sie den Dateinamen anhand der heruntergeladenen Version durch den tatsächlichen Dateinamen ersetzen.

tar -C /usr/local -xzf go1.11.4.linux-amd64.tar.gz

Schritt 4 : Erstellen Sie das Verzeichnis .go in home. (Es ist einfach, die erforderlichen Pakete ohne Administratorrechte zu installieren.)

mkdir ~/.go

Schritt 5 : Richten Sie die folgenden Umgebungsvariablen ein

GOROOT=/usr/local/go
GOPATH=~/.go
PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Überprüfen Sie diese AskUbuntu-Antwort, um zu erfahren, wie Umgebungsvariablen dauerhaft festgelegt werden.

Schritt 6 : Aktualisieren Sie den Befehl go

sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 0
sudo update-alternatives --set go /usr/local/go/bin/go

Schritt 7 : Testen Sie die golangVersion

go version
Gobinath
quelle
Diese Antwort hat mir sehr gut gefallen, weil sie genau beschreibt, wie das Debian Alternatives System funktioniert! +1
fgbreel
Das Upgrade von 1.8 auf 1.9 hat bei mir nicht geklappt. Auch der offizielle Guide hier github.com/golang/go/wiki/Ubuntu
Karlom
Dies ist die richtige Lösung, mit der Ausnahme, dass der Befehl tar nicht gültig ist. Dies reicht aus, um nur den vollständigen Namen Ihrer tar-Datei anzugeben. Vielen Dank!
Montaro
Legende. Vielen Dank! Ändern Sie jedoch den Dateinamen der tar-Befehlszeile.
Mihailo
Arbeiten wie ein Zauber, Prost!
PKumar
10

Ich habe ein alternatives (/ persönliches) Repo mit den neuesten Versionen gefunden , das noch am Leben ist, dann das go-1.8 bekommen und es vom Pfad in der OP-Frage verlinkt. Hier sei es in Bash:

sudo add-apt-repository ppa:gophers/archive
sudo apt-get update

sudo apt-get install golang-1.8

sudo ln /usr/lib/go-1.8/bin/go /usr/bin/go1.8

Jetzt kann ich nur sagen , go1.8statt gound so gehe mit den neuesten und größten.

Das Repo bietet viele andere Versionen, Sie müssen also nur die Versionsnummer in ex ändern. 1.4im Skript / Befehle oben.

Enorm
quelle
8

Für Golang 1.8 unter Ubuntu 17.04 Zesty bis 17.10 Artful:

# sudo apt update
# sudo apt install golang-1.8 golang-1.8-doc
# for bin in /usr/lib/go-1.8/bin/* ; do
    sudo update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 0
    sudo update-alternatives --set $(basename $bin) $bin
  done

Für Golang 1.9 unter Ubuntu 17.10 Artful bis 18.04 Bionic:

# sudo apt update
# sudo apt install golang-1.9 golang-1.9-doc
# for bin in /usr/lib/go-1.9/bin/* ; do
    sudo update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 0
    sudo update-alternatives --set $(basename $bin) $bin
  done

Für Golang 1.10 unter Ubuntu 18.04 Bionic und 18.10 Cosmic:

# sudo apt update
# sudo apt install golang-1.10 golang-1.10-doc
# for bin in /usr/lib/go-1.10/bin/* ; do
    sudo update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 0
    sudo update-alternatives --set $(basename $bin) $bin
  done
Patrick Decat
quelle
3

Einfache Installation und Aktualisierung

Verwenden Sie Go Version Manager

# Add basic packages
sudo apt-get install curl git mercurial make binutils bison gcc build-essential

# Install GVM
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

# Install which version you want to install
gvm install go1.9

# Use it as default version
gvm use go1.9 --default
Inanc Gumus
quelle
3

Sie können auch das Skript update-golang verwenden:

update-golang ist ein Skript zum einfachen Abrufen und Installieren neuer Golang-Versionen mit minimalem Systemeinbruch

git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh
Everton
quelle
3

IMG:  Um die neueste Version der Programmiersprache Go in allen derzeit unterstützten Versionen von Ubuntu zu installieren, öffnen Sie das Terminal und geben Sie Folgendes ein:

sudo snap install go --classic --channel stable 

Dieser Snap bietet einen Assembler, einen Compiler, einen Linker und kompilierte Bibliotheken für die Programmiersprache Go. Neben Stable gibt es noch andere Kanäle, aber der Stable-Kanal ist die neueste Version der Programmiersprache Go. Das Go-Snap-Paket wird automatisch aktualisiert, wenn Updates verfügbar sind.

karel
quelle
0

Ich verwende diese Anweisung, um die neueste Version von zu installieren IMG:

  1. Entfernen Sie die vorhandene Go-Version:

    sudo apt-get purge golang*
    
  2. Installieren Sie die neueste Version von Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
    
  3. Erstellen Sie die .profileDatei im Basispfad mit folgendem Inhalt:

    # ~/.profile: executed by the command interpreter for login shells.
    # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
    # exists.
    # see /usr/share/doc/bash/examples/startup-files for examples.
    # the files are located in the bash-doc package.
    
    # the default umask is set in /etc/profile; for setting the umask
    # for ssh logins, install and configure the libpam-umask package.
    #umask 022
    
    # if running bash
    if [ -n "$BASH_VERSION" ]; then
        # include .bashrc if it exists
        if [ -f "$HOME/.bashrc" ]; then
            . "$HOME/.bashrc"
        fi
    fi
    
    # set PATH so it includes user's private bin directories
    PATH="$HOME/bin:$HOME/.local/bin:$PATH"
    
  4. Setzen Sie den Go-Arbeitsbereich auf die Umgebungsvariable:

    GOPATH=~/.go
    
  5. Wenden Sie die .profileKonfiguration an:

    source ~/.profile
    

Prüfung:

$ go version
go version go1.11.1 linux/amd64

Ref: Go-GitHub-Installation

Benyamin Jafari
quelle