Cómo instalar la versión actual de Go en Ubuntu Precise


141

Corriendo sudo apt-get install golang-stable, obtengo la versión Go go1.0.3. ¿Hay alguna forma de instalar go1.1.1?


1
Al final tuve que instalar desde la fuente. No todas las pruebas pasaron pero parece estar funcionando bien.
Sofía

1
"No todas las pruebas pasaron pero parece estar funcionando bien". @sofia ¿qué versión de Ubuntu estás usando? No esperaría fallas de prueba a menos que estuviera ejecutando una versión muy antigua de Ubuntu o accidentalmente instaló "tip" vs. "estable".
voidlogic

Estoy usando ubuntu preciso. Pero instalar la última versión del repositorio / golang no informó ningún problema, así que no estoy seguro de cuál era el problema.
Sofia

También estoy usando precisa. ¿Ejecutó "hg update tip" o "hg update release". Si no recuerda, mire hacia atrás en su archivo de historial de bash. Usar la punta podría explicar las fallas de la prueba.
voidlogic

Respuestas:


110

Encontré un repositorio que tiene las últimas versiones: https://launchpad.net/~duh/+archive/golang/+packages . Entonces básicamente haz:

sudo apt-get install python-software-properties  # 12.04
sudo add-apt-repository ppa:duh/golang
sudo apt-get update
sudo apt-get install golang

Para confirmar:

go version

que sale en mi caso (Ubuntu preciso)

go version go1.1.1 linux/amd64

A partir de ahí, solo exporta la configuración que necesitarás para bash_rc o equivalente:

export GOROOT=/usr/lib/go
export GOBIN=/usr/bin/go

39
A partir de julio de 2014, esto ya no tiene la última versión de Go. La versión actual es la 1.3. Después de probar esto en Ubuntu 12.04, terminé con la versión 1.1.1.
425nesp

44
Por favor actualice esto. A partir de septiembre de 2014, también termino con "go1.1.2"
Riccardo

2
A partir del 2014-10-24, obtuve 1.2.1 linux / amd64.
Nairware

55
Registro el 29 de marzo de 2015. Ese ppa responde con un 404.
btleffler

77
Yo solíappa:evarlast/golang1.4
Natim

98

Me gusta usar GVM para administrar mis versiones de Go en mi caja de Ubuntu. Bastante simple de usar, y si está familiarizado con RVM, es un nobrainer. Le permite tener múltiples versiones de Go instaladas en su sistema y cambiar entre la versión que desee en cualquier momento.

Instale GVM con:

sudo apt-get install bison mercurial
bash < <(curl -LSs 'https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer')
. "$HOME/.gvm/scripts/gvm"

y luego es tan fácil como hacer esto:

gvm install go1.1.1
gvm use go1.1.1 --default

El indicador predeterminado al final del segundo comando establecerá que go1.1.1 sea su versión predeterminada de Go cada vez que inicie una nueva sesión de terminal.


1
Me gusta RVM y siempre disfruto de una buena herramienta en mi kit. Me alegra ver al entrar en Go que hay una herramienta como GVM :)
Brenden

2
gvm es el mismo nombre que para grails gvm
jcalloway

2
Acabo de intentar usar GVM debajo de la concha de pescado, y una advertencia para aquellos que no usan bash: GVM será un dolor para comenzar a funcionar correctamente. Muchos de sus scripts no tienen una línea shebang, por ejemplo.
Dennis

la página web "GVM" referenciada https://github.com/moovweb/gvmtes 404 no encontrada. Y soy reacio a instalar cualquier cosa que no parezca tener su propio procedimiento de actualización de seguridad
nealmcb

No estoy de acuerdo con que sea tan fácil como "gvm install" y "gvm use".
kemicofa fantasma

35

Usé los siguientes comandos del repositorio oficial de GoLang , instaló GoLang versión 1.6 en mi Ubuntu 14.04

sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
sudo apt-get update
sudo apt-get install golang

Referencia oficial GoLang Repo https://github.com/golang/go/wiki/Ubuntu parece que este ppa siempre se actualizará en el futuro.


2
The team named '~ubuntu-lxc' has no PPA named 'ubuntu/lxd-stable'
kenorb

Del enlace de referencia:sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go
Lee Richardson

23

[Octubre de 2015] Responda porque la respuesta aceptada actual sudo apt-get install golangno está actualizada y si no desea instalarGVM siga estos pasos.

Instalación paso a paso:

  1. Descargue la última versión aquí (SO: Linux).
  2. Abre tu terminal y ve a tu directorio de Descargas
  3. sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
  4. Añadir goa tu caminoexport PATH=$PATH:/usr/local/go/bin
  5. go version para verificar la versión actual instalada
  6. Comience a programar.

Posibles errores + correcciones: (para actualizar)

Si obtienes un go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64mensaje, entonces hiciste algo mal, así que mira esta publicación: Go está imprimiendo la versión xgcc pero no la versión instalada


esto no tiene armv7
Varun

17

Lo instalé desde la fuente. Aquí hay un tutorial paso a paso: http://golang.org/doc/install/source


2
si. Instalar Go desde la fuente es la mejor manera de "Ir". También es muy fácil actualizar de esa manera.
voidlogic

1
Seguí las instrucciones desde aquí y me funcionó muy bien golang.org/doc/install#tarball
Bogdan

1
Muchas gracias. Todavía estoy trabajando en mi Ubuntu 14.04 mientras que los PPA no. :-)
Ionică Bizău

1
Esto es molesto ahora que tienes que arrancar 1.5+ con una versión 1.4+.
Jocull

7

Aquí está el método más sencillo y directo que encontré para instalar, vaya a Ubuntu 14.04 sin ningún ppa ni ninguna otra herramienta.

A partir de ahora, la versión de GO es 1.7

Obtenga el Go 1.7.tar.gz usando wget

wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz

Extraerlo y copiarlo a /usr/local/

sudo tar -C /usr/local -xzvf go1.7.linux-amd64.tar.gz

Ahora ha instalado con éxito GO. Ahora debe configurar las Variables de entorno para poder utilizar el gocomando desde cualquier lugar.

Para lograr esto, necesitamos agregar una línea a .bashrc So,

sudo nano ~/.bashrc

y agregue la siguiente línea al final del archivo.

export PATH="/usr/local/go/bin:$PATH"

Ahora, todos los comandos en go/bin funcionarán.

Compruebe si la instalación fue exitosa haciendo

go version

Para la documentación fuera de línea, puede hacer

godoc -http=:6060

La documentación sin conexión estará disponible en http://localhost:6060

NOTA:

Algunas personas aquí sugieren cambiar la variable PATH.

No es una buena elección.

  1. Cambiar eso a /usr/local/go/bines temporal y se restablecerá una vez que cierre la terminal.

  2. go El comando solo funcionará en el terminal en el que cambió el valor de PATH.

  3. No podrá usar ningún otro comando como ls, nanoo casi todo porque todo lo demás está en /usr/bino en otras ubicaciones. Todas esas cosas dejarán de funcionar y comenzará a darte un error.

Sin embargo, esto es permanente y no perturba nada más.


necesita definir env var GOPATH = / some / dir luego definir PATH = $ {GOPATH} / bin: $ {PATH} para su propio código de proyecto
Scott Stensland

Sí, uso VSCode, así que para agregar GOPATH solo necesito editar gopath en la configuración de usuario json. Gracias por el aporte.
Ishan Jain

Hay un pequeño error tipográfico en el comando tar: am64 en lugar de amd64
Adrian Lungu

1
@AdrianLungu lo arregló.
Ishan Jain

1
sudo nano ~. / bashrc -> sudo nano ~ / .bashrc .. también debe ser vim: p
GameKyuubi

4
  1. Descargue say, go1.6beta1.linux-amd64.tar.gzdesde https://golang.org/dl/ en/tmp

wget https://storage.googleapis.com/golang/go1.6beta1.linux-amd64.tar.gz -o /tmp/go1.6beta1.linux-amd64.tar.gz

  1. un-tar en /usr/local/bin

sudo tar -zxvf go1.6beta1.linux-amd64.tar.gz -C /usr/local/bin/

  1. Establezca GOROOT, GOPATH, [en ubuntu agregue lo siguiente a ~ / .bashrc]

mkdir ~/go export GOPATH=~/go export PATH=$PATH:$GOPATH/bin export GOROOT=/usr/local/bin/go export PATH=$PATH:$GOROOT/bin

  1. Verificar

go version debería mostrar ser

go version go1.6beta1 linux/amd64

go env debería mostrar ser

GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/vats/go" GORACE="" GOROOT="/usr/local/bin/go" GOTOOLDIR="/usr/local/bin/go/pkg/tool/linux_amd64" GO15VENDOREXPERIMENT="1" CC="gcc" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0" CXX="g++" CGO_ENABLED="1"


Hola, gracias por la respuesta, estoy siguiendo todos los pasos, pero cada vez que llamo "versión go" en lugar de 1.7, trae 1.4.2. ¿Hay alguna otra acción que deba hacerse?
Anahit Serobyan

4

Si alguien está buscando instalar Go 1.8, siga esto:

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go

Y luego instalar ir

sudo apt-get install golang-1.8-go

Funciona sin problemas para mí. ¡Gracias!
Gwyneth Llewelyn

1
No es necesario instalarlo golang-1.8-go, ya está instalado al instalarlo golang-go. En realidad, a finales de abril de 2017, se instala go 1.8.1 , la última versión. github.com/golang/go/wiki/Ubuntu
firepol

Supongo que también necesitas configurar GOROOT, GOPATH
Nam G VU

Referencia para la configuración GOROOT y GOPATH en otras respuestas 1) stackoverflow.com/a/34384978/248616 2) stackoverflow.com/questions/17480044/… Más referencia oficial stackoverflow.com/a/10847122/248616
Nam G VU

Para cada uno de nuestros proyectos Go, configure GOPATH = / some / dir, PATH = $ {GOPATH} / bin: $ {PATH}
Nam G VU

4

Para la versión actual de Go:

El lenguaje de programación Go

Empezando

Descargue la distribución Go

Descargas

Haga clic en el enlace de arriba para visitar la página de descargas del proyecto Go y seleccione la distribución binaria que coincida con su sistema operativo y la arquitectura del procesador.

Las distribuciones binarias oficiales están disponibles para los sistemas operativos FreeBSD, Linux, macOS y Windows y las arquitecturas de procesador x86 de 32 bits (386) y 64 bits (amd64).

Si una distribución binaria no está disponible para su combinación de sistema operativo y arquitectura, puede intentar instalar desde la fuente o instalar gccgo en lugar de gc.

Instalar Go desde la fuente


Instalar desde la fuente es realmente muy rápido. Se compila rápidamente y las pruebas son opcionales si elige omitirlas.
Jeremy Wall

3

Utilizo estas instrucciones para instalar la última versión de IMG:

  1. Elimine la versión Go existente:

    sudo apt-get purge golang*
  2. Instale la última versión de Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
  3. Cree el .profilearchivo en la ruta de inicio con este contenido:

    # ~/.profile: executed by the command interpreter for login shells.
    # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
    # exists.
    # see /usr/share/doc/bash/examples/startup-files for examples.
    # the files are located in the bash-doc package.
    
    # the default umask is set in /etc/profile; for setting the umask
    # for ssh logins, install and configure the libpam-umask package.
    #umask 022
    
    # if running bash
    if [ -n "$BASH_VERSION" ]; then
        # include .bashrc if it exists
        if [ -f "$HOME/.bashrc" ]; then
            . "$HOME/.bashrc"
        fi
    fi
    
    # set PATH so it includes user's private bin directories
    PATH="$HOME/bin:$HOME/.local/bin:$PATH"
  4. Establezca Ir espacio de trabajo a la variable de entorno:

    GOPATH=~/.go
  5. Aplicar la .profileconfiguración:

    source ~/.profile

Prueba:

$ go version
go version go1.11.1 linux/amd64

Ref: Go-GitHub-Installation


1

En estos días, de acuerdo con Golang Github con Ubuntu , es posible instalar la última versión de Go fácilmente a través de un complemento:

El uso de instantáneas también funciona bastante bien:

# This will give you the latest version of go
$ sudo snap install --classic go

Potencialmente preferible a quejarse con PPA obsoletos y / o de terceros


0

También puede usar el script update-golang:

update-golang es un script para buscar e instalar fácilmente nuevas versiones de Golang con una intrusión mínima del sistema

git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh

0

La mejor manera de instalar Go en Ubuntu es descargar la versión requerida desde aquí . Aquí puede tener todas las versiones estables y versiones, junto con las versiones archivadas.

después de descargar la versión seleccionada, puede seguir otros pasos, le sugeriré que descargue el formato tar.gz para la máquina ubuntu:

  1. en primer lugar, elimine completamente la versión anterior de su local haciendo esto

sudo rm -rf /usr/local/go /usr/local/gocache

esto eliminará toda la base de código de inicio local, pero espere algo más que tengamos que hacer para eliminar completamente del local, me faltaba este paso y me llevó mucho tiempo hasta que entendí lo que me falta, así que aquí está el material de purga para eliminar de lista

sudo apt-get purge golang

o

sudo apt remove golang-go
  1. Ahora instale / extraiga su versión descargada de go inside / usr / local / go, presionando la terminal con esto

tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz

  1. después de hacer todo lo anterior, no olvide o verifique el GOROOTvalor variable, puede verificar el valor go envsi no está configurado, luegoexport PATH=$PATH:/usr/local/go
  2. Es mejor probar un pequeño programa go para asegurarse. escriba esto dentro /home/yourusername/go/test.phpsi no ha cambiado el GOPATHvalor establecido :
package main

import "fmt"

func main() {
    fmt.Println("hello world")
}
  1. ejecutar esto por go run test.go

espero que funcione para ti !!


0

O tal vez podrías usar este script para instalar Go y LiteIDE?

Si no está satisfecho con la respuesta proporcionada, comente en lugar de votar a ciegas. He usado esta configuración durante los últimos 4 años sin ningún problema.


-1
  1. Si tiene ubuntu-mate, puede instalar la última versión de:

    vamos

  2. Tengo un script para descargar e instalar el último acceso desde el sitio web oficial

     # Change these varialbe to where ever you feel comfortable
     DOWNLOAD_DIR=${HOME}/Downloads/GoLang
     INSTALL_DIR=${HOME}/App
     function install {
        mkdir -p ${DOWNLOAD_DIR}
        cd ${DOWNLOAD_DIR}
    
        echo "Fetching latest Go version..."
        typeset VER=`curl -s https://golang.org/dl/ | grep -m 1 -o 'go\([0-9]\)\+\(\.[0-9]\)\+'`
        if uname -m | grep 64 > /dev/null; then
            typeset ARCH=amd64
        else
            typeset ARCH=386
        fi
        typeset FILE=$VER.linux-$ARCH
    
        if [[ ! -e ${FILE}.tar.gz ]]; then
             echo "Downloading '$FILE' ..."
             wget https://storage.googleapis.com/golang/${FILE}.tar.gz
        fi
    
        echo "Installing ${FILE} ..."
        tar zxfC ${FILE}.tar.gz ${INSTALL_DIR}
        echo "Go is installed"
    }
    
    install

Configure su GOROOT, GOPATH y PATH:

export GOROOT=${INSTALL_DIR}/go
export GOPATH=<your go path>
export PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin

-1

Puedes usar un script de udhos/update-golang .

Aquí hay un ejemplo de dos líneas (ejecutar como root):

bash <(curl -s https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh)
ln -vs /usr/local/go/bin/go* /usr/local/bin/
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.