web-dev-qa-db-fra.com

la commande go version indique l'ancien numéro de version après la mise à jour vers la version 1.8

À peu près le titre. J'ai téléchargé/installé Go 1.8 pour OS X, mais quand je vais

$ go version
go version go1.7.5 darwin/AMD64

Mon .bashrc ressemble à ce qui suit

# some exports omitted

NPM_PACKAGES=/Users/<me>/.npm-packages
NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"

export PATH=~/Library/Python/3.4/bin:$PATH

export GOPATH=$HOME/Go
export PATH=$PATH:/usr/local/go/bin

Mon espace de travail se trouve dans un répertoire appelé "Go" dans mon dossier personnel. 

Ce que j'ai vérifié jusqu'à présent:

  • J'ai vérifié les fichiers dans/usr/local/go/bin et le fichier VERSION indique "1.8". Je sais donc que l'installation a réussi.

  • J'ai également renouvelé ma session de terminal, j'ai même redémarré mon ordinateur pour m'assurer qu'aucun autre processus ne l'interférerait.

  • J'utilise Webstorm comme IDE et il reconnaît correctement la version 1.8 en tant que version de travail

  • Ce n'est pas un bug dans le numéro de version lui-même, car je ne peux pas utiliser la fonctionnalité SQL "NextResultSet ()", introduite dans la version 1.8

Je pense que le coupable est peut-être une mauvaise configuration dans le fichier .bashrc ci-dessus, car seul le terminal est bloqué sur l'ancienne version, mais je ne peux pas comprendre ce qui ne va pas.

10
Arnaud H

Vous avez évidemment une ancienne version de Go installée, sinon vous ne pourriez pas voir go version go1.7.5 darwin/AMD64 comme sortie de go version.

Les IDE peuvent avoir une méthode plus avancée de détection des installations Go autres que le simple balayage de PATH et GOROOT (et c'est pourquoi votre IDE a trouvé et suggéré le nouveau Go 1.8.

Exécutez which go et vous verrez où se trouve votre ancien Go. Supprimez-le (et les références).

Notez que dans votre .bashrc vous ajoutez le dossier Go bin approprié au end de PATH:

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

Ce qui signifie que si PATH contient le dossier bin de l'ancienne installation de Go (très probablement), il est utilisé pour exécuter la commande go.

13
icza

J'ai eu le même problème. Même après avoir installé golang 1.10 sur mac en le téléchargeant du site Web de golang, le terminal mac affichait toujours la version 1.7.

La mise à jour de golang via homebrew a corrigé mon problème.

brew update
brew upgrade golang
5
Sreenidhi Sreesha

TLDR J'ai résolu mon problème en déplaçant le lien pour passer du dossier d'installation au fichier d'installation en /usr/bin/go


Pas à pas:

  1. trouver aller binaire:

    $which go
    /usr/bin/go
    
  2. créer des liens symboliques:

    ln -s /usr/local/go/bin/go go
    ln -s /usr/local/go/bin/godoc godoc
    ln -s /usr/local/go/bin/gofmt gofmt
    
  3. copier ces 3 liens symboliques vers /usr/bin

0
boroboris