Comment installer correctement Go Language dans Ubuntu?


12

J'essaie de suivre ces instructions pour installer Drive, mais je ne parviens pas Goà travailler correctement.

Je reçois toujours l'erreur:

go tool: no such tool "6g"

Quand j'essaye d'utiliser go get [url]. J'obtiens également cette erreur lorsque j'essaie d'exécuter un script Hello World (pour vérifier que Go s'est installé correctement).

J'ai essayé d'installer les programmes individuels recommandés dans ce post (golang-go.tools gccgo-go) concernant la correction de cette erreur mais le problème persiste.

Comment puis-je obtenir l' 6goutil?

Voici les résultats de 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"

avez-vous mis GOPATH et GOROOT?
Rinzwind

Oui, je recevais d'abord une erreur concernant le GOPATH. J'ai utilisé cette question SO pour trouver la solution qui m'a ensuite amené à cette prochaine erreur que je ne peux pas résoudre.
Bprodz

Avez-vous besoin de la dernière version de Go? Il est beaucoup plus facile d'installer Go à partir de l'archive - sudo apt-get install golang.
Nathan Osman

@NathanOsman Je ne pense pas, j'ai juste besoin de pouvoir compiler un programme écrit en Go (septembre dernier). J'ai couru sudo apt-get install golangmais il a renvoyé 0 pour mettre à niveau, nouvellement installé, 62 pour ne pas mettre à niveau et je ne peux toujours pas utiliser go getet go run. Dois-je forcer apt-get à remplacer ma version actuelle de Go?
Bprodz

Réponses:


12

Le problème est le vôtre GOROOT. Il doit être défini sur /usr/lib/go( non /usr/share/go ).

export GOROOT=/usr/lib/go

2

Installation

  1. Mise à jour.

    sudo apt-get update 
    
  2. Installez la langue Go.

    sudo apt-get install golang
    
  3. Réglez GOPATH dans votre dossier personnel. Après cette action, vous pouvez utiliser la commande echo $GOPATHpour vérifier l'emplacement du chemin d'accès.

    export GOPATH=$HOME/gopath
    
  4. Pour le GOPATH, il n'est pas nécessaire de le définir. Mais vous pouvez toujours le définir.

    # 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
    

Vérification des variables d'environnement Go

  1. Utilisez la commande go envet vous obtiendrez:

    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. Vous pouvez maintenant voir que:

    une. GOPATHest dedans /home/casper/gopath.

    b. GOROOTest dedans /usr/lib/go-1.6.

Les références


golangpackage est officiellement dans le référentiel, pourquoi devrais-je ajouter un PPA, où ces PPA sont connus pour des problèmes?
Anwar
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.