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.