Atualizando golang no Ubuntu

30

Eu tenho o Ubuntu 14.4.03. A golangversão padrão que acompanhava era 1.2.1. Gostaria de atualizar golangpara 1.4 ou superior.

Após a pesquisa, encontrei a maneira de fazer isso: primeiro exclua a instalação atual e reinstale a nova versão.

Encontrei os seguintes arquivos de instalação no seguinte diretório:

/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

Qual diretório contém o quê? Quais devo excluir? Qual deve ser o local da nova instalação? Parece que / usr / local é mais normal. Então, como é que o padrão do Ubuntu é como acima?

Qual seria o procedimento para instalar uma nova versão e golang?

Obrigado.

user3005720
fonte

Respostas:

8

Primeiro remova sua golanginstalação atual com este comando, você não precisa remover manualmente os arquivos instalados por apt-get,

sudo apt-get purge golang

Para uma instalação fácil, golang 1.4você pode usar este PPA

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

Agora você pode usar

sudo apt-get install golang

Isso instalará a versão 1.4. Aqui está um link para o PPA.

Mark Kirby
fonte
Isso não está funcionando agora, pois o ppa foi removido. Próxima resposta está trabalhando
Himanshu Sharma
45

ppa:evarlast/golang1.4não está funcionando para mim. A maneira manual de instalar o Go é apresentada abaixo.

Etapa 1 : remover o golang existente

sudo apt-get purge golang*

Etapa 2 : Baixe a versão mais recente do site oficial. Clique aqui

Etapa 3 : extraia-o em / usr / local usando o seguinte comando. Estou usando o Go 1.11.4 aqui. Pode ser necessário substituir o nome do arquivo pelo nome do arquivo real, com base na versão que você baixou.

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

Etapa 4 : crie o diretório .go em casa. (É fácil instalar os pacotes necessários sem privilégios de administrador)

mkdir ~/.go

Etapa 5 : configurar as seguintes variáveis ​​de ambiente

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

Verifique esta resposta do AskUbuntu para saber como definir variáveis ​​de ambiente permanentemente.

Etapa 6 : atualize o 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

Etapa 7 : testar a golangversão

go version
Gobinath
fonte
Eu realmente gostei desta resposta porque descreveu muito bem como o Sistema de Alternativas Debian funciona! +1
fgbreel 02/09
Isso não funcionou para eu atualizar de 1,8 para 1,9. Nem o guia oficial aqui github.com/golang/go/wiki/Ubuntu
Karlom
Esta é a solução certa, exceto que o comando tar não é válido, o que é bom apenas para fornecer o nome completo do seu arquivo tar. Obrigado!
Montaro 11/11
Lenda. Muito obrigado! Mude o nome do arquivo da linha de comando tar.
Mihailo
trabalhando como um encanto, felicidades!
PKumar 04/10
10

Eu tenho encontrado uma alternativa (/ pessoal) repo com versões mais recentes , que ainda está vivo, então tem o go-1,8 e ligou-o do caminho em questão do OP. Aqui bash-lo em:

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

Agora posso apenas dizer em go1.8vez de goe, assim, seguir com o mais recente e o melhor.

O repositório oferece muitas outras versões, então você alteraria o número da versão para ex. 1.4no script / comandos acima.

Enorme
fonte
8

Para Golang 1.8 no Ubuntu 17.04 Zesty para 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 no Ubuntu 17.10 astuto 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 no Ubuntu 18.04 Bionic e 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
fonte
3

Fácil instalação e atualização

Use o 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
fonte
3

Você também pode usar o script update-golang:

update-golang é um script para buscar e instalar facilmente novos lançamentos Golang com o mínimo de intrusão do sistema

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

IMG:  Para instalar a versão mais recente da linguagem de programação Go em todas as versões atualmente suportadas do Ubuntu, abra o terminal e digite:

sudo snap install go --classic --channel stable 

Esse snap fornece um montador, compilador, vinculador e bibliotecas compiladas para a linguagem de programação Go. Além de stable, existem outros canais, mas o channel stable é a versão mais recente da linguagem de programação Go. O pacote go snap será atualizado automaticamente quando houver atualizações disponíveis.

karel
fonte
0

Eu uso estas instruções para instalar a versão mais recente do IMG:

  1. Remova a versão Go existente:

    sudo apt-get purge golang*
    
  2. Instale a versão mais recente do Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
    
  3. Crie o .profilearquivo no caminho inicial com este conteúdo:

    # ~/.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. Defina a área de trabalho Ir para a variável de ambiente:

    GOPATH=~/.go
    
  5. Aplique a .profileconfiguração:

    source ~/.profile
    

Teste:

$ go version
go version go1.11.1 linux/amd64

Ref: Instalação do Go-GitHub

Benyamin Jafari
fonte