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.