Aggiornamento golang su Ubuntu


30

Ho Ubuntu 14.4.03. La golangversione predefinita fornita era la 1.2.1. Vorrei aggiornare golangalla versione 1.4 o successiva.

Dopo la ricerca, ho scoperto che il modo per farlo sarebbe quello di eliminare prima l'installazione corrente e quindi reinstallare la nuova versione.

Ho trovato i seguenti file di installazione nella seguente directory:

/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

Quale directory contiene cosa? Quali dovrei eliminare? Quale dovrebbe essere la posizione della nuova installazione? Sembra / usr / local è più normale. Allora come mai il default di Ubuntu è come sopra?

Quale sarebbe la procedura per installare una nuova versione di Golang?

Grazie.


Risposte:


8

Innanzitutto rimuovi la tua golanginstallazione corrente con questo comando, non è necessario rimuovere manualmente i file installati da apt-get,

sudo apt-get purge golang

Per una facile installazione golang 1.4è possibile utilizzare questo PPA

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

Adesso puoi usare

sudo apt-get install golang

Questo installerà la versione 1.4, ecco un link al PPA.


Questo non funziona ora poiché ppa è stato rimosso. La prossima risposta sta funzionando
Himanshu sharma il

45

ppa:evarlast/golang1.4non funziona per me. Di seguito viene fornita la modalità manuale di installazione di Go.

Passaggio 1 : rimuovere il Golang esistente

sudo apt-get purge golang*

Passaggio 2 : scarica l'ultima versione dal sito ufficiale. Clicca qui

Passaggio 3 : estrarlo in / usr / local usando il comando seguente. Sto usando Go 1.11.4 qui. Potrebbe essere necessario sostituire il nome file con il nome file effettivo in base alla versione scaricata.

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

Passaggio 4 : creare la directory .go nella home. (È facile installare i pacchetti necessari senza il privilegio di amministratore)

mkdir ~/.go

Passaggio 5 : impostare le seguenti variabili di ambiente

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

Controlla questa risposta AskUbuntu per come impostare le variabili di ambiente in modo permanente.

Passaggio 6 : aggiorna il 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

Passaggio 7 : testare la golangversione

go version

Mi è davvero piaciuta questa risposta perché descriveva bene come funziona Debian Alternatives System ! +1
fgbreel,

Questo non ha funzionato per me per l'aggiornamento da 1.8 a 1.9. Né la guida ufficiale qui github.com/golang/go/wiki/Ubuntu
Karlom

Questa è la soluzione giusta, tranne per il fatto che il comando tar non è valido, il che va bene solo per fornire il nome completo del file tar. Grazie!
Montaro,

Leggenda. Grazie mille! Cambia però il nome del file della riga di comando tar.
Mihailo,

lavorare come un incantesimo, evviva!
PKumar il

10

Ho trovato un repository alternativo (/ personale) con le ultime versioni , che è ancora vivo, quindi ho preso il go-1.8 e l'ho collegato dal percorso nella domanda del PO. Eccolo qui:

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

Ora posso solo dire go1.8invece goe quindi andare con l'ultimo e il più grande.

Il repository offre molte altre versioni in modo da modificare il numero di versione in ex. 1.4nello script / comandi sopra.


8

Per Golang 1.8 su 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

Per Golang 1.9 su 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

Per Golang 1.10 su 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

3

Facile installazione e aggiornamento

Usa 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

3

Puoi anche usare lo script update-golang:

update-golang è uno script per recuperare e installare facilmente nuove versioni di Golang con la minima intrusione del sistema

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

3

IMG:  Per installare l'ultima versione del linguaggio di programmazione Go in tutte le versioni attualmente supportate di Ubuntu, apri il terminale e digita:

sudo snap install go --classic --channel stable 

Questo snap fornisce un assemblatore, compilatore, linker e librerie compilate per il linguaggio di programmazione Go. Esistono altri canali oltre a stable, ma il canale stable è l'ultima versione del linguaggio di programmazione Go. Il pacchetto go snap verrà aggiornato automaticamente quando saranno disponibili aggiornamenti.


0

Uso queste istruzioni per installare l'ultima versione di IMG:

  1. Rimuovi la versione Go esistente:

    sudo apt-get purge golang*
    
  2. Installa l'ultima versione di Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
    
  3. Crea il .profilefile nel percorso principale con questo contenuto:

    # ~/.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. Impostare Vai area di lavoro sulla variabile di ambiente:

    GOPATH=~/.go
    
  5. Applica la .profileconfigurazione:

    source ~/.profile
    

Test:

$ go version
go version go1.11.1 linux/amd64

Rif: Go-GitHub-Installation

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.