Wie installiere ich Go Language in Ubuntu richtig?

12

Ich versuche, diese Anweisungen zu befolgen , um Drive zu installieren, kann aber nicht richtig Goarbeiten.

Ich bekomme immer den Fehler:

go tool: no such tool "6g"

Wenn ich versuche zu benutzen go get [url]. Ich erhalte diese Fehlermeldung auch, wenn ich versuche, ein Hallo-Welt-Skript auszuführen (um zu überprüfen, ob Go korrekt installiert wurde).

Ich habe versucht, die einzelnen in diesem Beitrag empfohlenen Programme (golang-go.tools gccgo-go) zu installieren, um diesen Fehler zu beheben, aber das Problem besteht weiterhin.

Wie kann ich das 6gTool bekommen?

Hier sind die Ergebnisse von 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"
Bprodz
quelle
hast du GOPATH und GOROOT gesetzt?
Rinzwind,
Ja, zuerst habe ich eine Fehlermeldung bezüglich des GOPATH erhalten. Ich habe diese SO-Frage verwendet, um die Lösung zu finden, die mich zu diesem nächsten Fehler brachte, den ich nicht beheben kann.
Bprodz,
Benötigen Sie die neueste Version von Go? Es ist viel einfacher, Go aus dem Archiv zu installieren - sudo apt-get install golang.
Nathan Osman
@ NathanOsman Ich glaube nicht, ich muss nur in der Lage sein, ein Programm zu kompilieren, das in Go geschrieben wurde (letzter September). Ich lief, sudo apt-get install golangaber es gab 0 zurück, um zu aktualisieren, neu zu installieren, 62, um nicht zu aktualisieren, und ich bin immer noch nicht in der Lage, go getund zu verwenden go run. Muss ich apt-get erzwingen, um meine aktuelle Version von Go zu überschreiben?
Bprodz,

Antworten:

12

Das Problem liegt bei Ihnen GOROOT. Es sollte auf /usr/lib/go( nicht /usr/share/go ) gesetzt sein.

export GOROOT=/usr/lib/go
friederblümle
quelle
2

Installation

  1. Aktualisieren.

    sudo apt-get update 
    
  2. Installieren Sie die Sprache Go.

    sudo apt-get install golang
    
  3. Legen Sie GOPATH auf Ihren Basisordner fest. Nach dieser Aktion können Sie den Befehl verwendenecho $GOPATH die Position des Go-Pfads überprüfen.

    export GOPATH=$HOME/gopath
    
  4. Für den GOPATH ist es nicht erforderlich, ihn zu definieren. Aber du kannst es immer noch definieren.

    # 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
    

Überprüfen von Go-Umgebungsvariablen

  1. Verwenden Sie den Befehl go envund Sie erhalten:

    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. Jetzt können Sie das sehen:

    ein. GOPATHist in /home/casper/gopath.

    b. GOROOTist in/usr/lib/go-1.6 .

Verweise

Kasper
quelle
golangDas Paket befindet sich offiziell im Repository. Warum sollte ich ein PPA hinzufügen, bei dem diese PPAs für Probleme bekannt sind?
Anwar