it-swarm.com.de

der Befehl "go version" zeigt die alte Versionsnummer nach dem Update auf 1.8 an

So ziemlich der Titel. Ich habe Go 1.8 für OS X heruntergeladen/installiert, aber wenn ich gehe

$ go version
go version go1.7.5 darwin/AMD64

Meine .bashrc sehen wie folgt aus

# 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

Mein Arbeitsbereich befindet sich in einem Verzeichnis namens "Go" in meinem Home-Ordner. 

Was ich bisher geprüft habe:

  • Ich habe die Dateien in/usr/local/go/bin geprüft, und die VERSION-Datei gibt "1.8" an. Ich weiß, dass die Installation erfolgreich war.

  • Ich habe auch meine Terminalsitzung erneuert, ich habe sogar meinen PC neu gestartet, um sicherzustellen, dass keine anderen Prozesse ihn stören.

  • Ich verwende Webstorm als meine IDE und erkannte 1.8 korrekt als Arbeitsversion

  • Es ist kein Fehler in der Versionsnummer selbst, da ich die SQL-Funktionalität "NextResultSet ()", die in Version 1.8 eingeführt wurde, nicht verwenden kann

Ich glaube, dass der Täter möglicherweise eine falsche Konfiguration in der obigen .bashrc-Datei ist, da nur das Terminal an der alten Version hängen bleibt, aber ich kann nicht herausfinden, was daran falsch ist.

10
Arnaud H

Offensichtlich ist eine alte Go-Version installiert, andernfalls konnte go version go1.7.5 darwin/AMD64 nicht als Ausgabe von go version angezeigt werden.

IDEs verfügen möglicherweise über eine erweiterte Methode zum Erkennen von Go-Installationen, bei denen lediglich PATH und GOROOT durchsucht werden. Aus diesem Grund hat Ihre IDE den neueren Go 1.8 gefunden und vorgeschlagen.

Führen Sie which go aus, und Sie werden sehen, wo sich Ihr alter Go befindet. Entfernen Sie es (und Verweise darauf).

Beachten Sie, dass Sie in Ihrem .bashrc den richtigen Ordner Go bin an das end von PATH anhängen:

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

Das bedeutet, wenn PATH den Ordner bin der alten Go-Installation enthält (sehr wahrscheinlich), der zum Ausführen des Befehls go verwendet wird.

13
icza

Ich hatte das gleiche Problem. Auch nach der Installation von golang 1.10 auf dem Mac durch Herunterladen von der golang-Website zeigte das mac terminal immer noch die Version 1.7.

Die Aktualisierung von Golang durch Homebrew hat mein Problem behoben.

brew update
brew upgrade golang
5

TLDR Ich habe mein Problem gelöst, indem ich Link von binär zu Installationsordner in /usr/bin/go verschoben habe


Schritt für Schritt:

  1. finde binär:

    $which go
    /usr/bin/go
    
  2. symlinks erstellen:

    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. kopiere diese 3 symbolischen Links zu /usr/bin

0
boroboris

In meinem Fall musste ich die Binärdateien nach der Neuinstallation manuell ersetzen.

cp /usr/local/go/bin/* /usr/local/bin/
0
Vishal