Actualización de golang en Ubuntu

30

Tengo Ubuntu 14.4.03. La golangversión predeterminada que venía con él era 1.2.1. Me gustaría actualizar golanga 1.4 o superior.

Después de buscar, encontré que la forma de hacerlo sería eliminar primero la instalación actual y luego volver a instalar la nueva versión.

Encontré los siguientes archivos de instalación en el siguiente directorio:

/usr/share/go
/usr/share/go/src/cmd/go
/usr/share/go/src/pkg/go
/usr/lib/go
/ur/lib/go/pkg/linux_amd64/go
/ur/lib/go/pkg/linux_amd64_race/go
/usr/bin/go

¿Qué directorio contiene qué? ¿Cuáles debo eliminar? ¿Cuál debería ser la ubicación de la nueva instalación? Parece que / usr / local es más normal. Entonces, ¿cómo es que el valor predeterminado de Ubuntu es el anterior?

¿Cuál sería el procedimiento para instalar una nueva versión og golang?

Gracias.

user3005720
fuente

Respuestas:

8

Primero elimine su golanginstalación actual con este comando, no necesita eliminar manualmente los archivos instalados por apt-get,

sudo apt-get purge golang

Para una fácil instalación golang 1.4, puede usar este PPA

sudo add-apt-repository ppa:evarlast/golang1.4
sudo apt-get update

Ahora puedes usar

sudo apt-get install golang

Esto instalará la versión 1.4, aquí hay un enlace al PPA.

Mark Kirby
fuente
Esto no funciona ahora ya que se elimina el ppa. La siguiente respuesta está funcionando
Himanshu sharma, el
45

ppa:evarlast/golang1.4no funciona para mi La forma manual de instalar Go se da a continuación.

Paso 1 : eliminar el golang existente

sudo apt-get purge golang*

Paso 2 : descargue la última versión del sitio oficial. Haga clic aquí

Paso 3 : Extraerlo en / usr / local usando el siguiente comando. Estoy usando Go 1.11.4 aquí. Es posible que deba reemplazar el nombre de archivo con el nombre de archivo real según la versión que haya descargado.

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

Paso 4 : Crea el directorio .go en casa. (Es fácil instalar los paquetes necesarios sin privilegios de administrador)

mkdir ~/.go

Paso 5 : configure las siguientes variables de entorno

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

Consulte esta respuesta de AskUbuntu para saber cómo establecer variables de entorno de forma permanente.

Paso 6 : actualice el comando go

sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 0
sudo update-alternatives --set go /usr/local/go/bin/go

Paso 7 : prueba la golangversión

go version
Gobinath
fuente
¡Realmente me gustó esta respuesta porque describe muy bien cómo funciona el Sistema de alternativas de Debian ! +1
fgbreel
Esto no funcionó para mí para actualizar de 1.8 a 1.9. Tampoco la guía oficial aquí github.com/golang/go/wiki/Ubuntu
Karlom
Esta es la solución correcta, excepto que el comando tar no es válido, lo cual está bien solo para proporcionar el nombre completo del archivo tar. ¡Gracias!
Montaro
Leyenda. ¡Muchas gracias! Sin embargo, cambie el nombre del archivo de la línea de comando tar.
Mihailo
trabajando como un encanto, ¡salud!
PKumar
10

He encontrado un repositorio alternativo (/ personal) con las últimas versiones , que todavía está vivo, luego obtuve el go-1.8 y lo vinculé desde el camino en la pregunta del OP. Aquí se golpea en:

sudo add-apt-repository ppa:gophers/archive
sudo apt-get update

sudo apt-get install golang-1.8

sudo ln /usr/lib/go-1.8/bin/go /usr/bin/go1.8

Ahora solo puedo decir en go1.8lugar de goy así ir con lo último y lo mejor.

El repositorio ofrece muchas otras versiones, por lo que solo debe cambiar el número de versión a ex. 1.4en el script / comandos de arriba.

Enorme
fuente
8

Para Golang 1.8 en Ubuntu 17.04 Zesty a 17.10 Artful:

# sudo apt update
# sudo apt install golang-1.8 golang-1.8-doc
# for bin in /usr/lib/go-1.8/bin/* ; do
    sudo update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 0
    sudo update-alternatives --set $(basename $bin) $bin
  done

Para Golang 1.9 en Ubuntu 17.10 Artful a 18.04 Bionic:

# sudo apt update
# sudo apt install golang-1.9 golang-1.9-doc
# for bin in /usr/lib/go-1.9/bin/* ; do
    sudo update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 0
    sudo update-alternatives --set $(basename $bin) $bin
  done

Para Golang 1.10 en Ubuntu 18.04 Bionic y 18.10 Cosmic:

# sudo apt update
# sudo apt install golang-1.10 golang-1.10-doc
# for bin in /usr/lib/go-1.10/bin/* ; do
    sudo update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 0
    sudo update-alternatives --set $(basename $bin) $bin
  done
Patrick Decat
fuente
3

Fácil instalación y actualización.

Utilice Go Version Manager

# Add basic packages
sudo apt-get install curl git mercurial make binutils bison gcc build-essential

# Install GVM
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

# Install which version you want to install
gvm install go1.9

# Use it as default version
gvm use go1.9 --default
Inanc Gumus
fuente
3

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
Everton
fuente
3

IMG:  Para instalar la última versión del lenguaje de programación Go en todas las versiones compatibles de Ubuntu, abra el terminal y escriba:

sudo snap install go --classic --channel stable 

Este complemento proporciona un ensamblador, compilador, enlazador y bibliotecas compiladas para el lenguaje de programación Go. Hay otros canales además de estable, pero el canal estable es la última versión del lenguaje de programación Go. El paquete Go Snap se actualizará automáticamente cuando haya actualizaciones disponibles.

karel
fuente
0

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

  1. Elimina 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

Benyamin Jafari
fuente