Mettre à jour Golang sur Ubuntu

30

J'ai Ubuntu 14.4.03. La golangversion par défaut qui l'accompagnait était 1.2.1. Je voudrais mettre golangà jour vers 1.4 ou supérieur.

Après avoir recherché, j'ai trouvé que le moyen de le faire serait de supprimer d'abord l'installation go en cours, puis de réinstaller la nouvelle version.

J'ai trouvé les fichiers d'installation go suivants dans le répertoire suivant:

/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

Quel répertoire contient quoi? Lesquels dois-je supprimer? Quel devrait être l'emplacement de la nouvelle installation? Il semble que / usr / local soit plus normal. Alors comment se fait-il qu'Ubuntu soit comme ci-dessus?

Quelle serait la procédure pour installer une nouvelle version d'og golang?

Merci.

user3005720
la source

Réponses:

8

Supprimez d'abord votre golanginstallation actuelle avec cette commande, vous n'avez pas besoin de supprimer manuellement les fichiers installés par apt-get,

sudo apt-get purge golang

Pour une installation facile de golang 1.4vous pouvez utiliser ce PPA

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

Vous pouvez maintenant utiliser

sudo apt-get install golang

Cela va installer la version 1.4, voici un lien vers le PPA.

Mark Kirby
la source
Cela ne fonctionne pas maintenant car ppa est supprimé. La réponse suivante fonctionne
Himanshu sharma
45

ppa:evarlast/golang1.4ne fonctionne pas pour moi. La manière manuelle d'installer Go est donnée ci-dessous.

Étape 1 : supprimer le golang existant

sudo apt-get purge golang*

Étape 2 : Téléchargez la dernière version sur le site officiel. Cliquez ici

Étape 3 : Extrayez-le dans / usr / local à l'aide de la commande suivante. J'utilise Go 1.11.4 ici. Vous devrez peut-être remplacer le nom de fichier par le nom de fichier réel en fonction de la version que vous avez téléchargée.

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

Étape 4 : Créez le répertoire .go à la maison. (Il est facile d'installer les packages nécessaires sans privilège administrateur)

mkdir ~/.go

Étape 5 : configurer les variables d'environnement suivantes

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

Consultez cette réponse AskUbuntu pour savoir comment définir les variables d'environnement de manière permanente.

Étape 6 : mettez à jour la commande 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

Étape 7 : Testez la golangversion

go version
Gobinath
la source
J'ai vraiment aimé cette réponse car elle décrit bien le fonctionnement du système d'alternatives Debian ! +1
fgbreel
Cela n'a pas fonctionné pour moi de passer de 1.8 à 1.9. Le guide officiel n'est pas non plus disponible ici github.com/golang/go/wiki/Ubuntu
Karlom
C'est la bonne solution, sauf que la commande tar n'est pas valide, ce qui est bien pour fournir simplement le nom complet de votre fichier tar. Merci!
Montaro
Légende. Merci beaucoup! Modifiez le nom de fichier de la ligne de commande tar cependant.
Mihailo
travailler comme un charme, bravo!
PKumar
10

J'ai trouvé un dépôt alternatif (/ personnel) avec les dernières versions , qui est toujours vivant, puis j'ai obtenu le go-1.8 et l'ai lié à partir du chemin dans la question de l'OP. Voici bash it in:

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

Maintenant, je peux simplement dire go1.8au lieu de goet donc aller avec le dernier et le meilleur.

Le référentiel propose de nombreuses autres versions, vous devez donc simplement changer le numéro de version en ex. 1.4dans le script / commandes ci-dessus.

Énorme
la source
8

Pour Golang 1.8 sur Ubuntu 17.04 Zesty à 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

Pour Golang 1.9 sur Ubuntu 17.10 Artful à 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

Pour Golang 1.10 sur Ubuntu 18.04 Bionic et 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
la source
3

Installation et mise à jour faciles

Utilisez 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
la source
3

Vous pouvez également utiliser le script update-golang:

update-golang est un script pour récupérer et installer facilement les nouvelles versions de Golang avec une intrusion système minimale

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

IMG:  Pour installer la dernière version du langage de programmation Go dans toutes les versions actuellement prises en charge d'Ubuntu, ouvrez le terminal et tapez:

sudo snap install go --classic --channel stable 

Cet instantané fournit un assembleur, un compilateur, un éditeur de liens et des bibliothèques compilées pour le langage de programmation Go. Il existe d'autres canaux que stable, mais le canal stable est la dernière version du langage de programmation Go. Le package go snap sera mis à jour automatiquement lorsque des mises à jour seront disponibles.

Karel
la source
0

J'utilise cette instruction pour installer la dernière version de IMG:

  1. Supprimez la version Go existante:

    sudo apt-get purge golang*
    
  2. Installez la dernière version de Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
    
  3. Créez le .profilefichier dans le chemin d'accueil avec ce contenu:

    # ~/.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. Définissez l'espace de travail Go sur la variable d'environnement:

    GOPATH=~/.go
    
  5. Appliquer la .profileconfiguration:

    source ~/.profile
    

Tester:

$ go version
go version go1.11.1 linux/amd64

Réf: Go-GitHub-Installation

Benyamin Jafari
la source