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.