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.