J'ai Ubuntu 14.4.03. La version par défaut de golang
qui l'accompagnait était 1.2.1. Je souhaite mettre à jour golang
à 1.4 ou plus.
Après avoir recherché, j’ai trouvé le moyen de supprimer d’abord l’installation actuelle, puis de réinstaller la nouvelle version.
J'ai trouvé les fichiers d'installation 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 est plus normal. Alors comment se fait-il que Ubuntu soit par défaut comme ci-dessus?
Quelle serait la procédure pour installer une nouvelle version de og golang?
Merci.
Commencez par supprimer votre installation actuelle de golang
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.4
, vous pouvez utiliser ce PPA
Sudo add-apt-repository ppa:evarlast/golang1.4
Sudo apt-get update
Maintenant vous pouvez utiliser
Sudo apt-get install golang
Cela installera la version 1.4, voici un lien vers le PPA.
ppa:evarlast/golang1.4
ne fonctionne pas pour moi. La manière manuelle d’installer Go est donnée ci-dessous.
Étape 1 : Retirez le golang existant.
Sudo apt-get purge golang*
Étape 2 : Téléchargez la dernière version à partir du 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 un répertoire . Go dans le répertoire principal. (Il est facile d'installer les paquets nécessaires sans privilège administrateur)
mkdir ~/.go
Étape 5 : Configurez les variables d'environnement suivantes.
GOROOT=/usr/local/go
GOPATH=~/.go
PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Cochez cette réponse à AskUbuntu pour comment définir des variables d’environnement de façon 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 version golang
go version
Je ai trouvé une alternative (/ personnel) repo avec les dernières versions , qui est toujours en vie, puis j'ai obtenu le go-1.8 et l'a lié à partir du chemin dans la question du PO. Ici être bash dans:
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.8
au lieu de go
et aller ainsi avec le plus récent et le plus grand.
Le repo propose de nombreuses autres versions, il vous suffit donc de changer le numéro de version en ex. 1.4
dans le script/les commandes ci-dessus.
Pour Golang 1.8 sur Ubuntu 17.04 Zesty to 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
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
Ce composant logiciel enfichable 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 paquet go snap sera mis à jour automatiquement lorsque des mises à jour seront disponibles.
Vous pouvez également utiliser le script update-golang:
pdate-golang est un script permettant d'extraire et d'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
# 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
Supprimez la version Go existante:
Sudo apt-get purge golang*
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
Créez le fichier .profile
dans le chemin principal 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"
Définissez l’espace de travail Go sur la variable d’environnement:
GOPATH=~/.go
Appliquez la configuration .profile
:
source ~/.profile
Tester:
$ go version
go version go1.11.1 linux/AMD64