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.


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.


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

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.


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

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

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

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.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.