Come installare la versione corrente di Go in Ubuntu Precise


141

In esecuzione sudo apt-get install golang-stable, ottengo la versione Go go1.0.3. C'è un modo per installare go1.1.1?


1
Alla fine ho dovuto installare dalla fonte. Non tutti i test sono stati superati, ma sembra funzionare bene.
Sofia,

1
"Non tutti i test sono stati superati ma sembra funzionare bene." @sofia quale versione di Ubuntu stai usando? Non mi aspetterei che i test fallissero se non avessi eseguito una versione molto vecchia di Ubuntu o non avessi installato accidentalmente "tip" vs. "stable".
voidlogic,

Sto usando Ubuntu preciso. Ma l'installazione dell'ultima versione dal repo duh / golang non ha segnalato alcun problema, quindi non sono sicuro di quale fosse il problema.
Sofia,

Sto anche usando preciso. Hai eseguito "hg update tip" o "hg update release". Se non ricordi, guarda indietro nel file della cronologia di Bash. L'uso del suggerimento potrebbe spiegare gli errori del test.
voidlogic,

Risposte:


110

Ho trovato un repository che ha le ultime versioni: https://launchpad.net/~duh/+archive/golang/+packages . Quindi sostanzialmente:

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

Per confermare:

go version

quali uscite nel mio caso (Ubuntu preciso)

go version go1.1.1 linux/amd64

Da lì esporta solo le impostazioni che ti serviranno su bash_rc o equivalenti:

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

39
Quindi a partire dal luglio 2014, questa non ha più l'ultima versione di Go. La versione attuale è 1.3. Dopo aver provato questo su Ubuntu 12.04, ho finito con la versione 1.1.1.
425nesp

4
Si prega di aggiornare questo. A partire da settembre 2014, finisco anche con "go1.1.2"
Riccardo

2
Dal 24/10/2014, ho ottenuto 1.2.1 linux / amd64.
nairware,

5
Check-in il 29 marzo 2015. Che il ppa risponde con un 404.
btleffler

7
Ho usatoppa:evarlast/golang1.4
Natim

98

Mi piace usare GVM per gestire le mie versioni Go nella mia casella Ubuntu. Abbastanza semplice da usare, e se hai familiarità con RVM, è un nobrainer. Ti consente di avere più versioni di Go installate nel tuo sistema e di passare da una versione all'altra in qualsiasi momento.

Installa GVM con:

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

e poi è facile come farlo:

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

Il flag predefinito alla fine del secondo comando imposterà go1.1.1 come versione Go predefinita ogni volta che avvii una nuova sessione di terminale.


1
Mi piace RVM e mi piace sempre un buon strumento nel mio kit. Sono contento di vedere mentre entrerò che c'è uno strumento come GVM :)
Brenden,

2
gvm è lo stesso nome di grails gvm
jcalloway,

2
Ho appena provato a utilizzare GVM sotto il guscio di pesce e un avvertimento per coloro che non usano bash: GVM sarà una seccatura alzarsi e funzionare correttamente. Molti dei suoi script non hanno una linea shebang per esempio.
Dennis,

la pagina Web "GVM" a cui https://github.com/moovweb/gvmtfa riferimento è 404 non trovata. E sono riluttante a installare tutto ciò che non sembra avere una propria procedura di aggiornamento della sicurezza
nealmcb

Non sono d'accordo sul fatto che sia facile come "installa gvm" e "usa gvm".
kemicofa ghost

35

Ho usato i seguenti comandi dal repository ufficiale GoLang , ha installato GoLang versione 1.6 sul mio Ubuntu 14.04

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

GoLang Repo ufficiale di riferimento https://github.com/golang/go/wiki/Ubuntu sembra che questo ppa verrà sempre aggiornato in futuro.


2
The team named '~ubuntu-lxc' has no PPA named 'ubuntu/lxd-stable'
Kenorb,

Dal link di riferimento:sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go
Lee Richardson,

23

[Ottobre 2015] Rispondi perché la risposta attualmente accettata sudo apt-get install golangnon è aggiornata e se non desideri installare, GVMsegui questi passaggi.

Installazione passo passo:

  1. Scarica qui l'ultima versione (SO: Linux).
  2. Apri il tuo terminale e vai alla directory dei download
  3. sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
  4. Aggiungi goal tuo percorsoexport PATH=$PATH:/usr/local/go/bin
  5. go version per verificare la versione corrente installata
  6. Inizia a programmare.

Possibili errori + correzioni: (da aggiornare)

Se ottieni un go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64errore, hai fatto qualcosa di sbagliato, quindi dai un'occhiata a questo post: Go sta stampando la versione xgcc ma non vai alla versione installata


questo non ha armv7
Varun

17

ho installato dalla fonte. c'è un tutorial passo-passo qui: http://golang.org/doc/install/source


2
sì. L'installazione di Go from source è il modo migliore per "Go". È anche molto facile aggiornarlo in questo modo.
voidlogic,

1
Ho seguito le istruzioni da qui e ha funzionato davvero per me golang.org/doc/install#tarball
Bogdan

1
Grazie mille. Continuo a lavorare sul mio Ubuntu 14.04 mentre i PPA no. :-)
Ionică Bizău

1
Questo è fastidioso ora che devi avviare bootstrap 1.5+ con una build 1.4+.
Giovedì

7

Ecco il metodo più diretto e semplice che ho trovato per installare andare su Ubuntu 14.04 senza ppa o altri strumenti.

A partire da ora, la versione di GO è 1.7

Ottieni il Go 1.7.tar.gz usando wget

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

Estrai e copialo su /usr/local/

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

Ora hai installato con successo GO. Ora devi impostare le variabili di ambiente in modo da poter usare il gocomando da qualsiasi luogo.

Per raggiungere questo obiettivo, dobbiamo aggiungere una riga a .bashrc So,

sudo nano ~/.bashrc

e aggiungi la seguente riga alla fine del file.

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

Ora, tutti i comandi go/binfunzioneranno.

Controlla se l'installazione è andata a buon fine

go version

Per la documentazione offline puoi farlo

godoc -http=:6060

La documentazione offline sarà disponibile all'indirizzo http://localhost:6060

NOTA:

Alcune persone qui stanno suggerendo di cambiare la variabile PATH.

Non è una buona scelta.

  1. Cambiarlo in /usr/local/go/binè temporaneo e si ripristinerà una volta chiuso il terminale.

  2. go Il comando funzionerà solo nel terminale in cui è stato modificato il valore di PATH.

  3. Non sarai in grado di usare nessun altro comando come ls, nanoo quasi tutto perché tutto il resto è in /usr/bino in altre posizioni. Tutte queste cose smetteranno di funzionare e inizieranno a darti errore.

Tuttavia, questo è permanente e non disturba nient'altro.


devi definire env var GOPATH = / some / dir quindi definire PATH = $ {GOPATH} / bin: $ {PATH} per il tuo codice di progetto
Scott Stensland

Sì, utilizzo VSCode, quindi per aggiungere GOPATH ho solo bisogno di modificare gopath nelle impostazioni utente json. Grazie per l'input.
Ishan Jain,

C'è un piccolo errore di battitura nel comando tar: am64 invece di amd64
Adrian Lungu,

1
@AdrianLungu Risolto il problema.
Ishan Jain,

1
sudo nano ~. / bashrc -> sudo nano ~ / .bashrc .. dovrebbe anche essere vim: p
GameKyuubi

4
  1. Scarica dire, go1.6beta1.linux-amd64.tar.gzda https://golang.org/dl/ in/tmp

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

  1. decomprimere in /usr/local/bin

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

  1. Imposta GOROOT, GOPATH, [su ubuntu aggiungi in seguito a ~ / .bashrc]

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

  1. Verificare

go version dovrebbe mostrare di essere

go version go1.6beta1 linux/amd64

go env dovrebbe mostrare di essere

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"


Ciao, grazie per la risposta, sto seguendo tutti i passaggi ma ogni volta che chiamo "go version" invece di 1.7 porta 1.4.2. Ci sono altre azioni che dovrebbero essere fatte?
Anahit Serobyan,

4

Se qualcuno sta cercando l'installazione Go 1.8, segui questo:

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

E poi installa vai

sudo apt-get install golang-1.8-go

Funziona perfettamente per me. Grazie!
Gwyneth Llewelyn,

1
Non è necessario installarlo golang-1.8-go, è già installato durante l'installazione golang-go. A partire da fine aprile 2017, è installato Go 1.8.1 , l'ultima versione. github.com/golang/go/wiki/Ubuntu
firepol

Suppongo che anche tu debba configurare GOROOT, GOPATH
Nam G VU

Riferimento per l'impostazione GOROOT e GOPATH proprio nelle altre risposte 1) stackoverflow.com/a/34384978/248616 2) stackoverflow.com/questions/17480044/… Altri riferimenti ufficiali stackoverflow.com/a/10847122/248616
Nam G VU

Per ciascuno dei nostri progetti Go, imposta GOPATH = / some / dir, PATH = $ {GOPATH} / bin: $ {PATH}
Nam G VU

4

Per l'attuale versione di Go:

Il linguaggio di programmazione Go

Iniziare

Scarica la distribuzione Go

download

Fare clic sul collegamento sopra per visitare la pagina dei download del progetto Go e selezionare la distribuzione binaria corrispondente al sistema operativo e all'architettura del processore.

Le distribuzioni binarie ufficiali sono disponibili per i sistemi operativi FreeBSD, Linux, macOS e Windows e per le architetture di processori x86 a 32 bit (386) e 64 bit (amd64).

Se una distribuzione binaria non è disponibile per la tua combinazione di sistema operativo e architettura, potresti provare a installare dal sorgente o installare gccgo invece di gc.

Installazione Vai dalla fonte


L'installazione dal sorgente è in realtà molto veloce. Si compila velocemente e i test sono opzionali se si sceglie di saltarli.
Jeremy Wall,

3

Uso queste istruzioni per installare l'ultima versione di IMG:

  1. Rimuovi la versione Go esistente:

    sudo apt-get purge golang*
  2. Installa l'ultima versione di Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
  3. Crea il .profilefile nel percorso principale con questo contenuto:

    # ~/.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. Impostare Vai area di lavoro sulla variabile di ambiente:

    GOPATH=~/.go
  5. Applica la .profileconfigurazione:

    source ~/.profile

Test:

$ go version
go version go1.11.1 linux/amd64

Rif: Go-GitHub-Installation


1

In questi giorni secondo il golang github con per Ubuntu , è possibile installare facilmente l'ultima versione di Go tramite uno snap:

Anche l'uso degli snap funziona abbastanza bene:

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

Potenzialmente preferibile agitarsi con PPA obsoleti e / o di terze parti


0

Puoi anche usare lo script update-golang:

update-golang è uno script per recuperare e installare facilmente nuove versioni di Golang con la minima intrusione del sistema

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

0

Il modo migliore per installare Go on Ubuntu è scaricare la versione richiesta da qui . Qui puoi avere tutte le versioni e le versioni stabili, insieme alle versioni archiviate.

dopo aver scaricato la versione selezionata puoi seguire ulteriori passaggi, ti suggerirò di scaricare il formato tar.gz per la macchina Ubuntu:

  1. prima di tutto rimuovi completamente la versione precedente dal tuo locale in questo modo

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

questo rimuoverà tutta la base di codice go locale ma aspettiamo qualcosa in più che dobbiamo fare per rimuovere completamente dal locale, mi mancava questo passaggio e ci è voluto così tanto tempo prima di capire cosa mi manca, quindi ecco le cose di eliminazione da cui rimuovere elenco

sudo apt-get purge golang

o

sudo apt remove golang-go
  1. Ora installa / estrai la versione scaricata di go inside / usr / local / go, colpendo il terminale con questo

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

  1. dopo aver fatto tutto quanto sopra, non dimenticare o controllare il GOROOTvalore variabile, puoi controllare il valore go envse non impostato alloraexport PATH=$PATH:/usr/local/go
  2. Meglio testare un piccolo programma go per essere sicuri. scrivi questo /home/yourusername/go/test.phpse non hai modificato il GOPATHvalore impostato :
package main

import "fmt"

func main() {
    fmt.Println("hello world")
}
  1. gestisci questo go run test.go

spero che funzioni per te !!


0

O forse potresti usare questo script per installare Go e LiteIDE?

Se non sei soddisfatto della risposta fornita, commenta invece di votare alla cieca. Ho usato questa configurazione negli ultimi 4 anni senza alcun problema.


-1
  1. Se hai ubuntu-mate, puoi installare l'ultima versione:

    umake go

  2. Ho uno script per scaricare e installare l'ultimo go dal sito ufficiale

     # 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

Configura GOROOT, GOPATH e PATH:

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

-1

Puoi usare uno script da udhos/update-golang.

Ecco un esempio di due righe (esegui come 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/
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.