Come installare correttamente Go Language in Ubuntu?


12

Sto provando a seguire queste istruzioni per installare Drive ma non riesco Goa funzionare correttamente.

Continuo a ricevere l'errore:

go tool: no such tool "6g"

Quando provo a usare go get [url]. Ottengo anche questo errore quando provo a eseguire uno script ciao mondo (per verificare che Go sia installato correttamente).

Ho provato a installare i singoli programmi consigliati in questo post (golang-go.tools gccgo-go) per quanto riguarda la correzione di questo errore, ma il problema persiste.

Come posso ottenere lo 6gstrumento?

Ecco i risultati di go env:

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/go"
GORACE=""
GOROOT="/usr/share/go"
GOTOOLDIR="/usr/share/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"

hai impostato GOPATH e GOROOT?
Rinzwind

Sì, prima stavo ricevendo un errore riguardo al GOPATH. Ho usato questa domanda SO per trovare la soluzione che mi ha portato al prossimo errore che non posso risolvere.
Bprodz,

Hai bisogno dell'ultima versione di Go? È molto più facile installare Vai dall'archivio - sudo apt-get install golang.
Nathan Osman,

@NathanOsman Non credo, ho solo bisogno di essere in grado di compilare un programma che è stato scritto in Go (lo scorso settembre). Ho eseguito sudo apt-get install golangma ha restituito 0 per l'aggiornamento, nuova installazione, 62 non per l'aggiornamento e non sono ancora in grado di utilizzare go gete go run. Devo forzare apt-get per sovrascrivere la mia versione attuale di Go?
Bprodz,

Risposte:


12

Il problema è vostro GOROOT. Dovrebbe essere impostato su /usr/lib/go( non /usr/share/go ).

export GOROOT=/usr/lib/go

2

Installazione

  1. Aggiornare.

    sudo apt-get update 
    
  2. Installa Go language.

    sudo apt-get install golang
    
  3. Imposta GOPATH sulla tua cartella home. Dopo questa azione, è possibile utilizzare il comando echo $GOPATHper verificare la posizione del percorso.

    export GOPATH=$HOME/gopath
    
  4. Per GOPATH, non è necessario definirlo. Ma puoi ancora definirlo.

    # Get the go installation root path.
    go env GOROOT
    
    # Set the result of `go env GOROOT` to system variable GOROOT.
    # In this example, the result of `go env GOROOT` is `/usr/lib/go-1.6`
    export GOROOT=/usr/lib/go-1.6
    

Verifica delle variabili di ambiente Go

  1. Usa il comando go enve otterrai:

    GOARCH="amd64"
    GOBIN=""
    GOEXE=""
    GOHOSTARCH="amd64"
    GOHOSTOS="linux"
    GOOS="linux"
    GOPATH="/home/casper/gopath"
    GORACE=""
    GOROOT="/usr/lib/go-1.6"
    GOTOOLDIR="/usr/lib/go-1.6/pkg/tool/linux_amd64"
    GO15VENDOREXPERIMENT="1"
    CC="gcc"
    GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
    CXX="g++"
    CGO_ENABLED="1"
    
  2. Ora puoi vedere che:

    un. GOPATHè dentro /home/casper/gopath.

    b. GOROOTè dentro /usr/lib/go-1.6.

Riferimenti


golangpacchetto è ufficialmente in repository, perché dovrei aggiungere un PPA, dove questi PPA sono noti per problemi?
Anwar,
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.