¿Cómo instalar correctamente Go Language en Ubuntu?


12

Estoy intentando seguir estas instrucciones para instalar Drive, pero no puedo Gotrabajar correctamente.

Sigo recibiendo el error:

go tool: no such tool "6g"

Cuando trato de usar go get [url]. También recibo este error cuando intento ejecutar un script de hello world (para verificar que Go se haya instalado correctamente).

Intenté instalar los programas individuales recomendados en esta publicación (golang-go.tools gccgo-go) para solucionar este error, pero el problema persiste.

¿Cómo puedo obtener la 6gherramienta?

Aquí están los resultados 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"

estableciste GOPATH y GOROOT?
— Rinzwind

Sí, primero recibí un error con respecto a GOPATH. Utilicé esta pregunta SO para encontrar la solución que luego me llevó al siguiente error que no puedo solucionar.
— Bprodz

¿Necesitas la última versión de Go? Es mucho más fácil instalar Go desde el archivo - sudo apt-get install golang.
— Nathan Osman

@NathanOsman No lo creo, solo necesito poder compilar un programa que fue escrito en Go (el pasado septiembre). Ejecuté sudo apt-get install golangpero devolvió 0 para actualizar, instalar nuevamente, 62 no actualizar y todavía no puedo usar go gety go run. ¿Debo obligar a apt-get a sobrescribir mi versión actual de Go?
— Bprodz

Respuestas:


12

El problema es tu GOROOT. Debe establecerse en /usr/lib/go( no /usr/share/go ).

export GOROOT=/usr/lib/go

2

Instalación

  1. Actualizar.

    sudo apt-get update 
    
  2. Instalar el idioma Go.

    sudo apt-get install golang
    
  3. Establezca GOPATH en su carpeta de inicio. Después de esta acción, puede usar el comando echo $GOPATHpara verificar la ubicación de la ruta de acceso.

    export GOPATH=$HOME/gopath
    
  4. Para el GOPATH, no es necesario definirlo. Pero aún puedes 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
    

Comprobación de las variables de entorno de Go

  1. Use el comando go envy obtendrá:

    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. Ahora puedes ver eso:

    a. GOPATHestá en /home/casper/gopath.

    si. GOROOTestá en /usr/lib/go-1.6.

Referencias


golangel paquete está oficialmente en el repositorio, ¿por qué debería agregar un PPA, donde estos PPA son conocidos por problemas?
— Anwar
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.