Aktualizacja golanga na Ubuntu

30

Mam Ubuntu 14.4.03. Domyślna golangwersja, która została z nim dostarczona, to 1.2.1. Chciałbym zaktualizować golangdo wersji 1.4 lub wyższej.

Po przeszukaniu znalazłem sposób, aby to zrobić, to najpierw usunąć bieżącą instalację go, a następnie ponownie zainstalować nową wersję.

Znalazłem następujące pliki instalacyjne go w następującym katalogu:

/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

Który katalog zawiera? Które powinienem usunąć? Jaka powinna być lokalizacja nowej instalacji? Wygląda na to, że / usr / local jest bardziej normalny. Więc dlaczego domyślna wersja Ubuntu jest taka jak powyżej?

Jaka byłaby procedura instalacji nowej wersji og golang?

Dzięki.

użytkownik3005720
źródło

Odpowiedzi:

8

Najpierw usuń bieżącą golanginstalację za pomocą tego polecenia, nie musisz ręcznie usuwać plików zainstalowanych przez apt-get,

sudo apt-get purge golang

Aby ułatwić instalację golang 1.4, możesz użyć tego PPA

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

Teraz możesz użyć

sudo apt-get install golang

Spowoduje to zainstalowanie wersji 1.4, tutaj jest link do PPA.

Mark Kirby
źródło
To nie działa teraz, ponieważ ppa został usunięty. Następna odpowiedź działa
Himanshu sharma
45

ppa:evarlast/golang1.4nie działa dla mnie. Ręczny sposób instalacji Go podano poniżej.

Krok 1 : Usuń istniejący golang

sudo apt-get purge golang*

Krok 2 : Pobierz najnowszą wersję z oficjalnej strony. Kliknij tutaj

Krok 3 : Wyodrębnij go w / usr / local za pomocą następującego polecenia. Korzystam z Go 1.11.4 tutaj. Może być konieczne zastąpienie nazwy pliku rzeczywistą nazwą pliku na podstawie pobranej wersji.

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

Krok 4 : Utwórz katalog .go w domu. (Łatwo jest zainstalować niezbędne pakiety bez uprawnień administratora)

mkdir ~/.go

Krok 5 : Skonfiguruj następujące zmienne środowiskowe

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

Sprawdź tę odpowiedź AskUbuntu, aby dowiedzieć się, jak ustawić zmienne środowiskowe na stałe.

Krok 6 : Zaktualizuj polecenie 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

Krok 7 : Przetestuj golangwersję

go version
Gobinath
źródło
Naprawdę podobała mi się ta odpowiedź, ponieważ dobrze opisała działanie systemu alternatyw Debiana ! +1
fgbreel
Nie działało to dla mnie z aktualizacji z 1.8 do 1.9. Ani oficjalny przewodnik tutaj github.com/golang/go/wiki/Ubuntu
Karlom
Jest to właściwe rozwiązanie, z wyjątkiem tego, że polecenie tar jest nieprawidłowe, wystarczy podać pełną nazwę pliku tar. Dzięki!
Montaro,
Legenda. Dziękuję Ci bardzo! Zmień jednak nazwę pliku linii poleceń tar.
Mihailo,
działa jak urok, na zdrowie!
PKumar
10

I znaleźli alternatywę (/ prywatnego) repo z najnowszych wersji , która jest wciąż żywa, a następnie dostał odchodzenie-1.8 i związał ją z drogi, o którym mowa w op. Tutaj bek to:

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

Teraz mogę po prostu powiedzieć go1.8zamiast, goa tym samym przejść do najnowszych i najlepszych.

Repozytorium oferuje wiele innych wersji, więc wystarczy zmienić numer wersji na ex. 1.4w powyższym skrypcie / komendach.

Olbrzymi
źródło
8

Dla Golang 1.8 na Ubuntu 17.04 Zesty do 17.10 Pomysłowy:

# 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

Dla Golang 1.9 na Ubuntu 17.10 Artful do 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

W przypadku Golanga 1.10 na Ubuntu 18.04 Bionic i 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
źródło
3

Łatwa instalacja i aktualizacja

Użyj 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
źródło
3

Możesz także użyć skryptu update-golang:

update-golang to skrypt do łatwego pobierania i instalowania nowych wydań Golang przy minimalnej ingerencji w system

git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh
Everton
źródło
3

IMG:  Aby zainstalować najnowszą wersję języka programowania Go we wszystkich obecnie obsługiwanych wersjach Ubuntu, otwórz terminal i wpisz:

sudo snap install go --classic --channel stable 

Ta przystawka zapewnia asembler, kompilator, linker i biblioteki skompilowane dla języka programowania Go. Istnieją inne kanały oprócz stabilnego, ale stabilny kanał jest najnowszą wersją języka programowania Go. Pakiet Snap Snap zostanie zaktualizowany automatycznie, gdy będą dostępne aktualizacje.

Karel
źródło
0

Korzystam z tej instrukcji, aby zainstalować najnowszą wersję IMG:

  1. Usuń istniejącą wersję Go:

    sudo apt-get purge golang*
    
  2. Zainstaluj najnowszą wersję Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
    
  3. Utwórz .profileplik w ścieżce głównej z tą zawartością:

    # ~/.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. Ustaw przestrzeń roboczą Go na zmienną środowiskową:

    GOPATH=~/.go
    
  5. Zastosuj .profilekonfigurację:

    source ~/.profile
    

Test:

$ go version
go version go1.11.1 linux/amd64

Patrz: Instalacja Go-GitHub

Benyamin Jafari
źródło