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"

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

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


golangDas Paket befindet sich offiziell im Repository. Warum sollte ich ein PPA hinzufügen, bei dem diese PPAs für Probleme bekannt sind?
— Anwar
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.