Como instalar a versão atual do Go no Ubuntu Precise


141

Em execução sudo apt-get install golang-stable, recebo a versão Go go1.0.3. Existe alguma maneira de instalar go1.1.1?


1
No final, eu tive que instalar a partir da fonte. Nem todos os testes foram aprovados, mas parece estar funcionando bem.
— Sofia

1
"Nem todos os testes foram aprovados, mas parece estar funcionando bem." @sofia qual versão do Ubuntu você está usando? Eu não esperaria falhas no teste, a menos que você estivesse executando uma versão muito antiga do Ubuntu ou instalasse acidentalmente "tip" vs. "stable".
— voidlogic

Estou usando o ubuntu preciso. Mas a instalação da versão mais recente do repositório duh / golang não relatou nenhum problema, portanto, não tenho certeza qual era o problema.
— Sofia

Eu também estou usando preciso. Você executou "hg update tip" ou "hg update release". Se você não se lembra, olhe para trás no seu arquivo de histórico do bash. O uso da dica pode explicar as falhas do teste.
— voidlogic

Respostas:


110

Encontrei um repositório com as versões mais recentes: https://launchpad.net/~duh/+archive/golang/+packages . Então basicamente:

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

Confirmar:

go version

que gera no meu caso (preciso do Ubuntu)

go version go1.1.1 linux/amd64

A partir daí, basta exportar as configurações necessárias para o bash_rc ou equivalente:

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

39
Portanto, a partir de julho de 2014, isso não terá mais a versão mais recente do Go. A versão atual é 1.3. Depois de tentar isso no Ubuntu 12.04, acabei com a versão 1.1.1.
— 425nesp

4
Atualize isso. A partir de setembro de 2014, eu também acabei com "go1.1.2"
— Riccardo

2
Em 24/10/2014, obtive o 1.2.1 linux / amd64.
— Nairware 25/10/14

5
O check-in em 29 de março de 2015. Esta ppa responde com um 404.
— btleffler

7
Eu useippa:evarlast/golang1.4
— Natim

98

Eu gosto de usar o GVM para gerenciar minhas versões do Go na minha caixa do Ubuntu. Muito simples de usar, e se você estiver familiarizado com o RVM, é fácil. Ele permite que você tenha várias versões do Go instaladas no seu sistema e alterne entre a versão que você deseja a qualquer momento.

Instale o GVM com:

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

e é tão fácil quanto fazer isso:

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

O sinalizador padrão no final do segundo comando definirá go1.1.1 como sua versão padrão do Go sempre que você iniciar uma nova sessão do terminal.


1
Eu gosto do RVM e sempre aprecio uma boa ferramenta no meu kit. Fico feliz em ver como eu entrar em Go que há uma ferramenta como GVM :)
— Brenden

2
gvm é mesmo nome para grails GVM
— jcalloway

2
Eu apenas tentei usar o GVM sob a casca do peixe, e um aviso para quem não usa o bash: o GVM será uma dor para começar a funcionar corretamente. Muitos de seus scripts não têm uma linha shebang, por exemplo.
— Dennis

a página da web "GVM" mencionada https://github.com/moovweb/gvmtnão é 404 encontrada. E eu estou relutante para instalar qualquer coisa que não parecem ter o seu próprio procedimento de atualização de segurança
— nealmcb

Não concordo que seja tão fácil quanto "gvm install" e "gvm use".
— Kemicofa ghost

35

Eu usei os seguintes comandos do repositório oficial do GoLang , ele instalou o GoLang versão 1.6 no meu Ubuntu 14.04

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

Referência oficial GoLang Repo https://github.com/golang/go/wiki/Ubuntu parece que este ppa será sempre atualizado no futuro.


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

Do link referenciado:sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go
— Lee Richardson

23

[Outubro de 2015] Responda porque a resposta atual aceita sudo apt-get install golangnão está atualizada e se você não deseja instalar, GVMsiga estas etapas.

Instalação passo a passo:

  1. Faça o download da versão mais recente aqui (SO: Linux).
  2. Abra o seu terminal e vá para o diretório Downloads
  3. sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
  4. Adicione goao seu caminhoexport PATH=$PATH:/usr/local/go/bin
  5. go version para verificar a versão atual instalada
  6. Comece a programar.

Possíveis erros + correções: (a ser atualizado)

Se você recebeu uma go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64mensagem, fez algo errado, portanto, confira este post: Go está imprimindo a versão xgcc, mas não a versão instalada


isto não tem ARMv7
— Varun

17

Eu instalei da fonte. há um tutorial passo a passo aqui: http://golang.org/doc/install/source


2
sim. A instalação do Go a partir da fonte é a melhor maneira de "Ir". É muito fácil atualizar dessa maneira também.
— voidlogic

1
Eu segui as instruções a partir daqui e funcionou para mim muito bom golang.org/doc/install#tarball
— Bogdan

1
Muito obrigado. Ainda estou trabalhando no meu Ubuntu 14.04, enquanto os PPAs não. :-)
— Ionică Bizău

1
Isso é irritante agora que você precisa inicializar o 1.5+ com uma compilação 1.4+.
— jocull

7

Aqui está o método mais direto e simples que eu encontrei para instalar no Ubuntu 14.04 sem nenhum ppa ou qualquer outra ferramenta.

A partir de agora, a versão do GO é 1.7

Obtenha o Go 1.7.tar.gz usando o wget

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

Extraia e copie para /usr/local/

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

Você instalou o GO com êxito. Agora você precisa definir variáveis ​​de ambiente para poder usar ogo comando de qualquer lugar.

Para conseguir isso, precisamos adicionar uma linha em .bashrc Então,

sudo nano ~/.bashrc

e adicione a seguinte linha ao final do arquivo.

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

Agora, todos os comandos em go/bin funcionarão.

Verifique se a instalação foi bem-sucedida fazendo

go version

Para documentação offline, você pode fazer

godoc -http=:6060

A documentação offline estará disponível em http://localhost:6060

NOTA:

Algumas pessoas aqui estão sugerindo alterar a variável PATH.

Não é uma boa escolha.

  1. Alterar isso para /usr/local/go/biné temporário e será redefinido quando você fechar o terminal.

  2. go O comando funcionará apenas no terminal em que você alterou o valor de PATH.

  3. Você não poderá usar nenhum outro comando como ls, nanoquase tudo, porque tudo está em /usr/binou em outros locais. Todas essas coisas param de funcionar e começam a dar erro.

No entanto, isso é permanente e não perturba mais nada.


você precisa definir env var GOPATH = / some / dir em seguida, definir PATH = $ {GOPATH} / bin: $ {PATH} para o seu próprio código do projeto
— Scott Stensland

Sim, eu uso o VSCode para adicionar GOPATH. Eu só preciso editar o gopath nas configurações do usuário json. Obrigado pela contribuição.
— Ishan Jain

Há um pequeno erro de digitação no comando tar: AM64 vez de amd64
— Adrian Lungu

1
@AdrianLungu Corrigido.
— Ishan Jain

1
sudo nano ~ / bashrc -> sudo nano ~ / .bashrc .. também deve ser vim:. p
— GameKyuubi

4
  1. Faça o download, digamos, go1.6beta1.linux-amd64.tar.gzde https://golang.org/dl/ para/tmp

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

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

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

  1. Defina GOROOT, GOPATH, [no ubuntu adicione o seguinte para ~ / .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 deve mostrar ser

go version go1.6beta1 linux/amd64

go env deve 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"


Oi, obrigado pela resposta, estou seguindo todas as etapas, mas sempre que eu chamo "ir versão" em vez de 1.7, ele traz 1.4.2. Existem outras ações que devem ser feitas?
— Anahit Serobyan

4

Se alguém estiver procurando por instalar o Go 1.8, siga este procedimento:

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

E depois instale

sudo apt-get install golang-1.8-go

Funciona perfeitamente para mim. Obrigado!
— Gwyneth Llewelyn

1
Não é necessário instalar golang-1.8-go, ele já está instalado durante a instalação golang-go. Na verdade, no final de abril de 2017, o go 1.8.1 está instalado, a versão mais recente. github.com/golang/go/wiki/Ubuntu
— firepol

Eu acho que você também precisa configurar o GOROOT, GOPATH
— Nam G VU

Referência para a configuração GOROOT e GOPATH diretamente em outras respostas 1) stackoverflow.com/a/34384978/248616 2) stackoverflow.com/questions/17480044/… Referência mais oficial stackoverflow.com/a/10847122/248616
— Nam G VU

Para cada um dos nossos projetos Go, defina GOPATH = / some / dir, PATH = $ {GOPATH} / bin: $ {PATH}
— Nam G VU

4

Para a versão atual do Go:

A linguagem de programação Go

Começando

Faça o download da distribuição Go

Transferências

Clique no link acima para visitar a página de downloads do projeto Go e selecione a distribuição binária que corresponde ao sistema operacional e à arquitetura do processador.

Distribuições binárias oficiais estão disponíveis para os sistemas operacionais FreeBSD, Linux, macOS e Windows e as arquiteturas de processador x86 de 32 bits (386) e 64 bits (amd64).

Se uma distribuição binária não estiver disponível para a combinação de sistema operacional e arquitetura, convém tentar instalar a partir do código-fonte ou instalar o gccgo em vez do gc.

Instalando o Go da fonte


Instalar a partir da fonte é realmente muito rápido. Compila rapidamente e os testes são opcionais se você optar por ignorá-los.
— 21413 Jeremy Wall

3

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


1

Hoje em dia, de acordo com o golang github do Ubuntu , é possível instalar a versão mais recente do Go facilmente através de um piscar de olhos:

Usar snaps também funciona muito bem:

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

Potencialmente preferível a agitação com PPAs desatualizados e / ou de terceiros


0

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

0

A melhor maneira de instalar o Go no Ubuntu é baixar a versão necessária a partir daqui . Aqui você pode ter todos os estábulos e versões, além das versões arquivadas.

depois de baixar a versão selecionada, você pode seguir as etapas a seguir, eu sugiro que você baixe o formato tar.gz para a máquina ubuntu:

  1. Antes de tudo, remova totalmente a versão mais antiga do seu local, fazendo isso

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

isso removerá toda a base de código local, mas espere algo mais que possamos fazer para remover totalmente do local. Estava faltando essa etapa e demorou muito tempo até que eu entendesse o que está faltando. Aqui estão as coisas para remover Lista

sudo apt-get purge golang

ou

sudo apt remove golang-go
  1. Agora instale / extraia a versão baixada de go inside / usr / local / go, pressionando o terminal com este

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

  1. depois de fazer todas as coisas acima, não se esqueça ou verifique o GOROOTvalor da variável. Você pode verificar o valor go envse não estiver definido.export PATH=$PATH:/usr/local/go
  2. Melhor testar um pequeno programa go para ter certeza. escreva isso dentro /home/yourusername/go/test.phpse você não tiver alterado o GOPATHvalor definido :
package main

import "fmt"

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

Espero que funcione para você !!


0

Ou talvez você possa usar esse script para instalar o Go e o LiteIDE?

Se você não estiver satisfeito com a resposta fornecida, comente em vez de votar cegamente. Eu usei essa configuração nos últimos 4 anos sem nenhum problema.


-1
  1. Se você possui o ubuntu-mate, pode instalar as últimas opções:

    umake go

  2. Eu tenho um script para baixar e instalar a última atualização do site 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 seu GOROOT, GOPATH e PATH:

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

-1

Você pode usar um script de udhos/update-golang .

Aqui está um exemplo de dois liners (executado 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/
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.