Comment installer la version actuelle de Go dans Ubuntu Precise

141

En cours d'exécution sudo apt-get install golang-stable, j'obtiens la version Go go1.0.3. Existe-t-il un moyen d'installer go1.1.1?

Sofia
la source
1
En fin de compte, j'ai dû installer à partir des sources. Tous les tests n'ont pas réussi, mais cela semble fonctionner correctement.
Sofia
1
"Tous les tests n'ont pas réussi mais cela semble fonctionner correctement." @sofia quelle version d'Ubuntu utilisez-vous? Je ne m'attendrais pas à des échecs de test à moins que vous n'utilisiez une très ancienne version d'Ubuntu ou que vous ayez accidentellement installé "tip" contre "stable".
voidlogic
J'utilise ubuntu precise. Mais l'installation de la dernière version du repo duh / golang n'a signalé aucun problème, donc je ne sais pas quel était le problème.
Sofia
J'utilise également précis. Avez-vous exécuté "hg update tip" ou "hg update release". Si vous ne vous souvenez pas, regardez en arrière dans votre fichier d'historique bash. L'utilisation de tip peut expliquer les échecs des tests.
voidlogic
1
Vous pouvez essayer ce blog railskey.wordpress.com/2014/05/31/install-gogolang-on-ubuntu
Pravin Mishra

Réponses:

110

J'ai trouvé un repo qui a les dernières versions: https://launchpad.net/~duh/+archive/golang/+packages . Donc, en gros, faites:

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

Confirmer:

go version

qui sort dans mon cas (Ubuntu précis)

go version go1.1.1 linux/amd64

À partir de là, exportez simplement les paramètres dont vous aurez besoin vers bash_rc ou équivalent:

export GOROOT=/usr/lib/go
export GOBIN=/usr/bin/go
Sofia
la source
39
Donc, à partir de juillet 2014, cela n'a plus la dernière version de Go. La version actuelle est la 1.3. Après avoir essayé ceci sur Ubuntu 12.04, je me suis retrouvé avec la version 1.1.1.
425nesp
4
Veuillez mettre à jour ceci. À partir de septembre 2014, je me retrouve également avec "go1.1.2"
Riccardo
2
Depuis le 24/10/2014, j'ai obtenu la version 1.2.1 linux / amd64.
nairware
5
Enregistrement le 29 mars 2015. Ce ppa répond avec un 404.
btleffler
7
J'ai utiliséppa:evarlast/golang1.4
Natim
98

J'aime utiliser GVM pour gérer mes versions Go dans ma boîte Ubuntu. Assez simple à utiliser, et si vous êtes familier avec RVM, c'est un jeu d'enfant. Il vous permet d'installer plusieurs versions de Go sur votre système et de basculer entre la version de votre choix à tout moment.

Installez GVM avec:

sudo apt-get install bison mercurial
bash < <(curl -LSs 'https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer')
. "$HOME/.gvm/scripts/gvm"

et puis c'est aussi simple que de faire ceci:

gvm install go1.1.1
gvm use go1.1.1 --default

L'indicateur par défaut à la fin de la deuxième commande définira go1.1.1 comme votre version Go par défaut chaque fois que vous démarrez une nouvelle session de terminal.

noj
la source
1
J'aime RVM et profite toujours d'un bon outil dans mon kit. Heureux de voir en entrant dans Go qu'il existe un outil comme GVM :)
Brenden
2
gvm est le même nom que pour grails gvm
jcalloway
2
J'ai juste essayé d'utiliser GVM sous la coquille de poisson, et un avertissement à ceux qui n'utilisent pas bash: GVM sera pénible de se mettre en marche correctement. Beaucoup de ses scripts n'ont pas de ligne shebang par exemple.
Dennis
la page Web "GVM" référencée https://github.com/moovweb/gvmtest 404 introuvable. Et je suis réticent à installer quelque chose qui ne semble pas avoir sa propre procédure de mise à jour de sécurité
nealmcb
Je ne pense pas que ce soit aussi simple que "gvm install" et "gvm use".
kemicofa ghost
35

J'ai utilisé les commandes suivantes du référentiel officiel GoLang , il a installé GoLang version 1.6 sur mon Ubuntu 14.04

sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
sudo apt-get update
sudo apt-get install golang

Référence officielle GoLang Repo https://github.com/golang/go/wiki/Ubuntu il semble que ce ppa sera toujours mis à jour à l'avenir.

Pankaj Khairnar
la source
2
The team named '~ubuntu-lxc' has no PPA named 'ubuntu/lxd-stable'
kenorb le
À partir du lien référencé:sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go
Lee Richardson
23

[Octobre 2015] Répondez car la réponse actuellement acceptée sudo apt-get install golangn'est pas à jour et si vous ne souhaitez pas installer, GVMsuivez ces étapes.

Installation étape par étape:

  1. Téléchargez la dernière version ici (OS: Linux).
  2. Ouvrez votre terminal et accédez à votre répertoire Téléchargements
  3. sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
  4. Ajouter goà votre parcoursexport PATH=$PATH:/usr/local/go/bin
  5. go version pour vérifier la version actuelle installée
  6. Démarrez la programmation.

Erreurs possibles + correctifs: (à mettre à jour)

Si vous obtenez un, go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64vous avez fait quelque chose de mal, alors consultez ce post: Go imprime la version xgcc mais pas la version installée

fantôme de kemicofa
la source
cela n'a pas armv7
Varun
17

j'ai installé à partir de la source. il y a un tutoriel étape par étape ici: http://golang.org/doc/install/source

mnagel
la source
2
Oui. L'installation de Go à partir des sources est la meilleure façon de "Go". Il est également très facile de mettre à jour de cette façon.
voidlogic
1
J'ai suivi les instructions d'ici et cela a fonctionné pour moi vraiment sympa golang.org/doc/install#tarball
Bogdan
1
Merci beaucoup. Je travaille toujours sur mon Ubuntu 14.04 alors que les PPA ne le font pas. :-)
Ionică Bizău
1
C'est ennuyeux maintenant que vous devez amorcer 1.5+ avec une version 1.4+.
jocull le
7

Voici la méthode la plus directe et la plus simple que j'ai trouvée pour installer sur Ubuntu 14.04 sans aucun ppa ni aucun autre outil.

À partir de maintenant, la version de GO est 1.7

Obtenez le Go 1.7.tar.gz en utilisant wget

wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz

Extrayez-le et copiez-le dans /usr/local/

sudo tar -C /usr/local -xzvf go1.7.linux-amd64.tar.gz

Vous avez maintenant installé GO avec succès. Vous devez maintenant définir des variables d'environnement pour pouvoir utiliser la gocommande de n'importe où.

Pour y parvenir, nous devons ajouter une ligne à .bashrc So,

sudo nano ~/.bashrc

et ajoutez la ligne suivante à la fin du fichier.

export PATH="/usr/local/go/bin:$PATH"

Maintenant, toutes les commandes go/binfonctionneront.

Vérifiez si l'installation a réussi en faisant

go version

Pour la documentation hors ligne, vous pouvez faire

godoc -http=:6060

La documentation hors ligne sera disponible sur http://localhost:6060

REMARQUE:

Certaines personnes ici suggèrent de changer la variable PATH.

Ce n'est pas un bon choix.

  1. Changer cela en /usr/local/go/binest temporaire et il sera réinitialisé une fois que vous fermez le terminal.

  2. go La commande ne fonctionnera que dans le terminal dans lequel vous avez changé la valeur de PATH.

  3. Vous ne pourrez utiliser aucune autre commande comme ls, nanoou à peu près tout, car tout le reste se trouve dans /usr/binou dans d'autres endroits. Toutes ces choses cesseront de fonctionner et cela commencera à vous donner une erreur.

Cependant, cela est permanent et ne dérange rien d'autre.

Ishan Jain
la source
vous devez définir env var GOPATH = / some / dir puis définir PATH = $ {GOPATH} / bin: $ {PATH} pour votre propre code de projet
Scott Stensland
Oui, j'utilise VSCode donc pour ajouter GOPATH il me suffit d'éditer gopath dans les paramètres utilisateur json. Merci pour la contribution.
Ishan Jain
Il y a une petite faute de frappe dans la commande tar: am64 au lieu de amd64
Adrian Lungu
1
@AdrianLungu l'a corrigé.
Ishan Jain
1
sudo nano ~. / bashrc -> sudo nano ~ / .bashrc .. devrait également être vim: p
GameKyuubi
4
  1. Téléchargez par exemple, go1.6beta1.linux-amd64.tar.gzde https://golang.org/dl/ dans/tmp

wget https://storage.googleapis.com/golang/go1.6beta1.linux-amd64.tar.gz -o /tmp/go1.6beta1.linux-amd64.tar.gz

  1. un-tar dans /usr/local/bin

sudo tar -zxvf go1.6beta1.linux-amd64.tar.gz -C /usr/local/bin/

  1. Définissez GOROOT, GOPATH, [sur ubuntu, ajoutez la suite à ~ / .bashrc]

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

  1. Vérifier

go version devrait montrer être

go version go1.6beta1 linux/amd64

go env devrait montrer être

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"

suryakrupa
la source
Salut, merci pour la réponse, je suis toutes les étapes mais chaque fois que j'appelle "go version" au lieu de 1.7, il apporte 1.4.2. Y a-t-il d'autres actions à entreprendre?
Anahit Serobyan
4

Si quelqu'un cherche à installer Go 1.8, procédez comme suit:

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go

Et puis installez go

sudo apt-get install golang-1.8-go
rakibtg
la source
Fonctionne parfaitement pour moi. Merci!
Gwyneth Llewelyn
1
Pas besoin d'installer golang-1.8-go, il est déjà installé lors de l'installation golang-go. En fait, à partir d'avril 2017, go 1.8.1 est installé, la dernière version. github.com/golang/go/wiki/Ubuntu
firepol
Je suppose que vous devez également configurer GOROOT, GOPATH
Nam G VU
Référence pour le réglage GOROOT et GOPATH à droite dans d'autres réponses 1) stackoverflow.com/a/34384978/248616 2) stackoverflow.com/questions/17480044/... Plus de référence officielle stackoverflow.com/a/10847122/248616
Nam G VU
Pour chacun de nos projets Go, définissez GOPATH = / some / dir, PATH = $ {GOPATH} / bin: $ {PATH}
Nam G VU
4

Pour la version actuelle de Go:

Le langage de programmation Go

Commencer

Téléchargez la distribution Go

Téléchargements

Cliquez sur le lien ci-dessus pour visiter la page de téléchargement du projet Go et sélectionnez la distribution binaire qui correspond à votre système d'exploitation et à l'architecture de votre processeur.

Des distributions binaires officielles sont disponibles pour les systèmes d'exploitation FreeBSD, Linux, macOS et Windows et les architectures de processeur x86 32 bits (386) et 64 bits (amd64).

Si une distribution binaire n'est pas disponible pour votre combinaison de système d'exploitation et d'architecture, vous pouvez essayer d'installer à partir des sources ou d'installer gccgo au lieu de gc.

Installer Go à partir de la source

peterSO
la source
L'installation à partir des sources est en fait très rapide. Il se compile rapidement et les tests sont facultatifs si vous choisissez de les ignorer.
Jeremy Wall
3

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. Appliquez la .profileconfiguration:

    source ~/.profile

Tester:

$ go version
go version go1.11.1 linux/amd64

Réf: Go-GitHub-Installation

Benyamin Jafari
la source
1

Ces jours-ci, selon le golang github avec pour Ubuntu , il est possible d'installer la dernière version de Go facilement via un clic:

L'utilisation de snaps fonctionne également très bien:

# This will give you the latest version of go
$ sudo snap install --classic go

Potentiellement préférable à des PPA obsolètes et / ou tiers

kjones
la source
0

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 un minimum d'intrusion dans le système

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

La meilleure façon d'installer Go sur Ubuntu est de télécharger la version requise à partir d' ici . Ici, vous pouvez avoir toutes les versions stables et les versions archivées.

après avoir téléchargé la version sélectionnée, vous pouvez suivre les étapes supplémentaires, je vais vous suggérer de télécharger le format tar.gz pour la machine ubuntu:

  1. tout d'abord, supprimez complètement l'ancienne version de votre local en faisant cela

sudo rm -rf /usr/local/go /usr/local/gocache

cela supprimera toute la base de code go locale, mais attendez quelque chose de plus que nous devons faire pour supprimer complètement de local, je manquais cette étape et cela a pris tellement de temps jusqu'à ce que je comprenne ce qui me manque, alors voici les éléments de purge à supprimer liste

sudo apt-get purge golang

ou

sudo apt remove golang-go
  1. Maintenant, installez / extrayez votre version téléchargée de go inside / usr / local / go, en appuyant sur le terminal avec ceci

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

  1. après avoir fait tout ce qui précède, n'oubliez pas ou vérifiez la GOROOTvaleur de la variable, vous pouvez vérifier la valeur go envsi elle n'est pas définie, puisexport PATH=$PATH:/usr/local/go
  2. Mieux vaut tester un petit programme go pour s'en assurer. écrivez ceci à l'intérieur /home/yourusername/go/test.phpsi vous n'avez pas changé la GOPATHvaleur définie :
package main

import "fmt"

func main() {
    fmt.Println("hello world")
}
  1. courir ça par go run test.go

j'espère que cela fonctionne pour vous !!

Ashutosh Rai
la source
0

Ou peut-être pourriez-vous utiliser ce script pour installer Go et LiteIDE?

Si vous n'êtes pas satisfait de la réponse fournie, veuillez commenter au lieu de voter aveuglément. J'ai utilisé cette configuration pendant les 4 dernières années sans aucun problème.

thoroc
la source
-1
  1. Si vous avez ubuntu-mate, vous pouvez installer la dernière version en:

    allez-y

  2. J'ai un script pour télécharger et installer la dernière version du site officiel

     # 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

Configurez votre GOROOT, GOPATH et PATH:

export GOROOT=${INSTALL_DIR}/go
export GOPATH=<your go path>
export PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin
Enze Chi
la source
-1

Vous pouvez utiliser un script de udhos/update-golang .

Voici un exemple de deux lignes (exécutez comme 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/
Kenorb
la source