Jak zainstalować aktualną wersję Go w Ubuntu Precise


141

Uruchamiam sudo apt-get install golang-stable, dostaję wersję Go go1.0.3. Czy jest sposób na zainstalowanie go1.1.1?


1
W końcu musiałem zainstalować ze źródła. Nie wszystkie testy przeszły pomyślnie, ale wydaje się, że działa poprawnie.
— Sofia,

1
„Nie wszystkie testy przeszły pomyślnie, ale wygląda na to, że działa prawidłowo”. @sofia jakiej wersji Ubuntu używasz? Nie spodziewałbym się niepowodzeń testów, chyba że używasz bardzo starej wersji Ubuntu lub przypadkowo zainstalowałeś "wskazówkę" zamiast "stabilną".
— voidlogic

Używam precyzyjnego Ubuntu. Ale instalacja najnowszej wersji z repo duh / golang nie zgłosiła żadnego problemu, więc nie jestem pewien, na czym polega problem.
— Sofia,

Używam również precyzyjnych. Czy uruchomiłeś „hg update tip” lub „hg update release”. Jeśli nie pamiętasz, zajrzyj do pliku historii basha. Korzystanie ze wskazówki może wyjaśnić niepowodzenia testu.
— voidlogic

Odpowiedzi:


110

Znalazłem repozytorium, które ma najnowsze wersje: https://launchpad.net/~duh/+archive/golang/+packages . Więc w zasadzie zrób:

sudo apt-get install python-software-properties  # 12.04
sudo add-apt-repository ppa:duh/golang
sudo apt-get update
sudo apt-get install golang

Potwierdzać:

go version

które wyprowadza w moim przypadku (precyzyjne Ubuntu)

go version go1.1.1 linux/amd64

Stamtąd wyeksportuj ustawienia, które będziesz potrzebować do bash_rc lub odpowiednika:

export GOROOT=/usr/lib/go
export GOBIN=/usr/bin/go

39
Od lipca 2014 roku nie ma już najnowszej wersji Go. Obecna wersja to 1.3. Po wypróbowaniu tego na Ubuntu 12.04 skończyłem z wersją 1.1.1.
— 425nesp

4
Zaktualizuj to. Od września 2014 r. Otrzymuję również „go1.1.2”
— Riccardo

2
Od 2014-10-24 otrzymałem 1.2.1 linux / amd64.
— nairware


7
Użyłemppa:evarlast/golang1.4
— Natim

98

Lubię używać GVM do zarządzania moimi wersjami Go w moim Ubuntu. Całkiem prosty w użyciu, a jeśli znasz RVM, jest to szlachetny. Pozwala na zainstalowanie wielu wersji Go w systemie i przełączanie się między dowolną wersją w dowolnym momencie.

Zainstaluj GVM za pomocą:

sudo apt-get install bison mercurial
bash < <(curl -LSs 'https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer')
. "$HOME/.gvm/scripts/gvm"

a potem jest to tak proste, jak zrobienie tego:

gvm install go1.1.1
gvm use go1.1.1 --default

Domyślna flaga na końcu drugiego polecenia ustawi go1.1.1 jako domyślną wersję Go za każdym razem, gdy uruchomisz nową sesję terminala.


1
Lubię RVM i zawsze lubię dobre narzędzie w moim zestawie. Cieszę się, że kiedy wchodzę do Go, jest narzędzie takie jak GVM :)
— Brenden

2
gvm ma taką samą nazwę jak grails gvm
— jcalloway

2
Właśnie próbowałem użyć GVM pod skorupą ryby i ostrzeżenie dla tych, którzy nie używają basha: GVM będzie trudny do prawidłowego uruchomienia. Na przykład wiele jego skryptów nie ma linii shebang.
— Dennis

https://github.com/moovweb/gvmtnie znaleziono strony 404, do której odwołuje się „GVM” . I niechętnie instaluję wszystko, co wydaje się nie mieć własnej procedury aktualizacji zabezpieczeń
— nealmcb

Nie zgadzam się, że jest to tak proste, jak „instalacja gvm” i „użycie gvm”.
— duch kemicofa

35

Użyłem następujących poleceń z oficjalnego repozytorium GoLang , zainstalowałem GoLang w wersji 1.6 na moim Ubuntu 14.04

sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
sudo apt-get update
sudo apt-get install golang

Odwołaj się do oficjalnego repozytorium GoLang https://github.com/golang/go/wiki/Ubuntu , wygląda na to, że ta ppa będzie zawsze aktualizowana w przyszłości.


2
The team named '~ubuntu-lxc' has no PPA named 'ubuntu/lxd-stable'
— kenorb

Z odnośnego linku:sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go
— Lee Richardson,

23

[Październik 2015 r.] Odpowiedź, ponieważ aktualnie zaakceptowana odpowiedź sudo apt-get install golangnie jest aktualna i jeśli nie chcesz instalować, GVMwykonaj następujące kroki.

Instalacja krok po kroku:

  1. Pobierz najnowszą wersję tutaj (system operacyjny: Linux).
  2. Otwórz terminal i przejdź do katalogu Pobrane
  3. sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
  4. Dodaj godo swojej ścieżkiexport PATH=$PATH:/usr/local/go/bin
  5. go version aby sprawdzić aktualnie zainstalowaną wersję
  6. Rozpocznij programowanie.

Możliwe błędy + poprawki: (do aktualizacji)

Jeśli dostaniesz, to go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64zrobiłeś coś nie tak, więc sprawdź ten post: Idź drukuje wersję xgcc, ale nie przejdź do zainstalowanej wersji


to nie ma armv7
— Varun

17

zainstalowałem ze źródła. tutaj znajduje się samouczek krok po kroku: http://golang.org/doc/install/source


2
tak. Instalacja Go ze źródła to najlepszy sposób na „Go”. Również w ten sposób bardzo łatwo jest zaktualizować.
— voidlogic

1
Postępowałem zgodnie z instrukcjami stąd i zadziałało to dla mnie naprawdę fajnie golang.org/doc/install#tarball
— Bogdan

1
Dziękuję bardzo. Nadal pracuję na moim Ubuntu 14.04, podczas gdy PPA nie. :-)
— Ionică Bizău

1
Jest to denerwujące teraz, gdy musisz załadować wersję 1.5+ z wersją 1.4+.
— wesoły

7

Oto najprostsza i najprostsza metoda, jaką znalazłem, aby zainstalować na Ubuntu 14.04 bez żadnego ppa lub innego narzędzia.

W chwili obecnej wersja GO to 1.7

Pobierz Go 1.7.tar.gz za pomocą wget

wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz

Wyodrębnij go i skopiuj do /usr/local/

sudo tar -C /usr/local -xzvf go1.7.linux-amd64.tar.gz

Pomyślnie zainstalowałeś GO. Teraz musisz ustawić zmienne środowiskowe, aby móc używać gopolecenia z dowolnego miejsca.

Aby to osiągnąć, musimy dodać linię do .bashrc So,

sudo nano ~/.bashrc

i dodaj następujący wiersz na końcu pliku.

export PATH="/usr/local/go/bin:$PATH"

Teraz wszystkie polecenia w programie go/binbędą działać.

Sprawdź, czy instalacja powiodła się, wykonując

go version

W przypadku dokumentacji offline możesz to zrobić

godoc -http=:6060

Dokumentacja offline będzie dostępna pod adresem http://localhost:6060

UWAGA:

Niektórzy tutaj sugerują zmianę zmiennej PATH.

To nie jest dobry wybór.

  1. Zmiana tego na /usr/local/go/binjest tymczasowa i zostanie zresetowana po zamknięciu terminala.

  2. go Polecenie będzie działać tylko w terminalu, w którym zmieniłeś wartość PATH.

  3. Nie będziesz mógł użyć żadnego innego polecenia, takiego jak ls, nanolub prawie wszystkiego, ponieważ wszystko inne znajduje się w /usr/binlub w innych lokalizacjach. Wszystkie te rzeczy przestaną działać i zaczną powodować błędy.

Jest to jednak trwałe i niczego innego nie przeszkadza.


musisz zdefiniować env var GOPATH = / some / dir, a następnie zdefiniować PATH = $ {GOPATH} / bin: $ {PATH} dla własnego kodu projektu
— Scott Stensland

Tak, używam VSCode, więc aby dodać GOPATH, wystarczy edytować gopath w ustawieniach użytkownika json. Dzięki za wkład.
— Ishan Jain

W poleceniu tar jest mała literówka: am64 zamiast amd64
— Adrian Lungu

1
@AdrianLungu Naprawiono to.
— Ishan Jain

1
sudo nano ~. / bashrc -> sudo nano ~ / .bashrc .. również powinno być vim: p
— GameKyuubi

4
  1. Pobierz, powiedzmy, go1.6beta1.linux-amd64.tar.gzz https://golang.org/dl/ do/tmp

wget https://storage.googleapis.com/golang/go1.6beta1.linux-amd64.tar.gz -o /tmp/go1.6beta1.linux-amd64.tar.gz

  1. un-tar w /usr/local/bin

sudo tar -zxvf go1.6beta1.linux-amd64.tar.gz -C /usr/local/bin/

  1. Ustaw GOROOT, GOPATH, [na ubuntu dodaj następujący do ~ / .bashrc]

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

  1. Zweryfikować

go version powinno być

go version go1.6beta1 linux/amd64

go env powinno być

GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/vats/go" GORACE="" GOROOT="/usr/local/bin/go" GOTOOLDIR="/usr/local/bin/go/pkg/tool/linux_amd64" GO15VENDOREXPERIMENT="1" CC="gcc" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0" CXX="g++" CGO_ENABLED="1"


Cześć, dziękuję za odpowiedź, podążam za wszystkimi krokami, ale ilekroć nazywam "wersję go" zamiast 1.7, to daje 1.4.2. Czy są jakieś inne czynności, które należy wykonać?
— Anahit Serobyan

4

Jeśli ktoś szuka instalacji Go 1.8 to postępuj tak:

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go

A następnie zainstaluj go

sudo apt-get install golang-1.8-go

U mnie działa bez zarzutu. Dzięki!
— Gwyneth Llewelyn

1
Nie ma potrzeby instalowania golang-1.8-go, jest już zainstalowany podczas instalacji golang-go. Właściwie od końca kwietnia 2017 r. Zainstalowana jest najnowsza wersja go 1.8.1 . github.com/golang/go/wiki/Ubuntu
— firepol

Myślę, że musisz również skonfigurować GOROOT, GOPATH
— Nam G VU

Odniesienie do ustawień GOROOT i GOPATH w innych odpowiedziach 1) stackoverflow.com/a/34384978/248616 2) stackoverflow.com/questions/17480044/… Bardziej oficjalne odniesienie stackoverflow.com/a/10847122/248616
— Nam G VU

Dla każdego naszego projektu Go ustaw GOPATH = / some / dir, PATH = $ {GOPATH} / bin: $ {PATH}
— Nam G VU

4

W przypadku aktualnej wersji Go:

Język programowania Go

Pierwsze kroki

Pobierz dystrybucję Go

Pliki do pobrania

Kliknij powyższy link, aby odwiedzić stronę pobierania projektu Go i wybierz dystrybucję binarną, która pasuje do Twojego systemu operacyjnego i architektury procesora.

Oficjalne dystrybucje binarne są dostępne dla systemów operacyjnych FreeBSD, Linux, macOS i Windows oraz 32-bitowych (386) i 64-bitowych (amd64) procesorów x86.

Jeśli dystrybucja binarna nie jest dostępna dla Twojej kombinacji systemu operacyjnego i architektury, możesz spróbować zainstalować ją ze źródła lub zainstalować gccgo zamiast gc.

Instalowanie Go ze źródła


Instalacja ze źródła jest naprawdę szybka. Kompiluje się szybko, a testy są opcjonalne, jeśli zdecydujesz się je pominąć.
— Jeremy Wall,

3

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 domowej z następującą 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 obszar roboczy Go na zmienną środowiskową:

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

    source ~/.profile

Test:

$ go version
go version go1.11.1 linux/amd64

Ref: Instalacja Go-GitHub


1

Obecnie, zgodnie z golang github dla Ubuntu , można łatwo zainstalować najnowszą wersję Go za pomocą przystawki:

Używanie przyciągania również działa całkiem dobrze:

# This will give you the latest version of go
$ sudo snap install --classic go

Potencjalnie lepsze od zamieszania z nieaktualnymi i / lub zewnętrznymi umowami PPA


0

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

update-golang to skrypt do łatwego pobierania i instalowania nowych wersji Golanga przy minimalnej ingerencji w system

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

0

Najlepszym sposobem na zainstalowanie Go w Ubuntu jest pobranie wymaganej wersji stąd . Tutaj możesz mieć wszystkie wersje stabilne i wydania, wraz z wersjami zarchiwizowanymi.

po pobraniu wybranej wersji można przejść do dalszych kroków, proponuję pobrać format tar.gz dla maszyny ubuntu:

  1. przede wszystkim całkowicie usuń starszą wersję z lokalnego, wykonując to

sudo rm -rf /usr/local/go /usr/local/gocache

to usunie całą lokalną bazę kodu go, ale poczekaj jeszcze coś, co musimy zrobić, aby całkowicie usunąć z lokalnego, brakowało mi tego kroku i zajęło mi to dużo czasu, zanim zrozumiałem, czego mi brakuje, więc oto rzeczy do czyszczenia do usunięcia lista

sudo apt-get purge golang

lub

sudo apt remove golang-go
  1. Teraz zainstaluj / wypakuj pobraną wersję pliku wejdź do / usr / local / go, naciskając tym terminalem

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

  1. po wykonaniu wszystkich powyższych czynności, nie zapomnij lub sprawdź GOROOTwartość zmiennej, możesz sprawdzić wartość, go envjeśli nie jest ustawionaexport PATH=$PATH:/usr/local/go
  2. Lepiej przetestować mały program go, aby się upewnić. napisz to w środku, /home/yourusername/go/test.phpjeśli nie zmieniłeś GOPATHwartości zadanej :
package main

import "fmt"

func main() {
    fmt.Println("hello world")
}
  1. poprowadź to go run test.go

Mam nadzieję, że to zadziała dla ciebie!!


0

A może mógłbyś użyć tego skryptu do zainstalowania Go i LiteIDE?

Jeśli nie jesteś zadowolony z udzielonej odpowiedzi, prosimy o komentarz zamiast głosowania na ślepo. Używałem tej konfiguracji przez ostatnie 4 lata bez żadnego problemu.


-1
  1. Jeśli masz ubuntu-mate, możesz zainstalować najnowsze go przez:

    umake go

  2. Mam skrypt do pobrania i zainstalowania ostatniego go z oficjalnej strony

     # Change these varialbe to where ever you feel comfortable
     DOWNLOAD_DIR=${HOME}/Downloads/GoLang
     INSTALL_DIR=${HOME}/App
     function install {
        mkdir -p ${DOWNLOAD_DIR}
        cd ${DOWNLOAD_DIR}
    
        echo "Fetching latest Go version..."
        typeset VER=`curl -s https://golang.org/dl/ | grep -m 1 -o 'go\([0-9]\)\+\(\.[0-9]\)\+'`
        if uname -m | grep 64 > /dev/null; then
            typeset ARCH=amd64
        else
            typeset ARCH=386
        fi
        typeset FILE=$VER.linux-$ARCH
    
        if [[ ! -e ${FILE}.tar.gz ]]; then
             echo "Downloading '$FILE' ..."
             wget https://storage.googleapis.com/golang/${FILE}.tar.gz
        fi
    
        echo "Installing ${FILE} ..."
        tar zxfC ${FILE}.tar.gz ${INSTALL_DIR}
        echo "Go is installed"
    }
    
    install

Skonfiguruj swoje GOROOT, GOPATH i PATH:

export GOROOT=${INSTALL_DIR}/go
export GOPATH=<your go path>
export PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin

-1

Możesz użyć skryptu z udhos/update-golang .

Oto przykład dwuwierszowy (uruchom jako root):

bash <(curl -s https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh)
ln -vs /usr/local/go/bin/go* /usr/local/bin/
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.