web-dev-qa-db-ja.com

go versionコマンドは、1.8へのアップデート後に古いバージョン番号を表示します

ほぼタイトル。 OS X用Go 1.8をダウンロード/インストールしましたが、

$ go version
go version go1.7.5 darwin/AMD64

私の.bashrcは次のようになります

# 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

ワークスペースは、ホームフォルダーの「移動」というディレクトリにあります。

これまでに確認したこと:

  • / usr/local/go/binのファイルを確認しましたが、VERSIONファイルには「1.8」と表示されているため、インストールが成功したことがわかります。

  • ターミナルセッションも更新しました。他のプロセスが干渉しないように、PCを再起動しました。

  • IDEとしてWebstormを使用していますが、1.8が正常に機能するバージョンとして正しく認識されました

  • バージョン1.8で導入された「NextResultSet()」SQL機能を使用できないため、バージョン番号自体のバグではありません。

ターミナルのみが古いバージョンでスタックしているため、上記の.bashrcファイルの犯人は間違った構成である可能性があると思いますが、何が問題なのかわかりません。

15
Arnaud H

Goの古いバージョンがインストールされていることは明らかです。それ以外の場合は、go version go1.7.5 darwin/AMD64の出力としてgo version

IDEには、単にPATHGOROOTをスキャンする以外のGoインストールを検出するためのより高度な方法があるかもしれません(だからIDEが見つかり、新しいGo 1.8が提案されました) 。

実行which goを選択すると、古いGoの場所が表示されます。それ(およびそれへの参照)を削除します。

.bashrc適切なGo binフォルダをPATHの-​​endに追加しています。

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

つまり、PATHに古いGoインストールのbinフォルダーが含まれている場合(おそらく)、goコマンドの実行に使用されます。

20
icza

同じ問題がありました。 golangウェブサイトからダウンロードしてmacにgolang 1.10をインストールした後でも、mac端末には1.7バージョンが表示されていました。

Homebrewを使用してgolangを更新すると、問題が修正されました。

brew update
brew upgrade golang
9

[〜#〜] tldr [〜#〜]リンクをインストールフォルダーから/usr/bin/goに移動するリンクを移動することで問題を解決しました


ステップバイステップ:

  1. goバイナリを見つける:

    $which go
    /usr/bin/go
    
  2. シンボリックリンクを作成します。

    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. これらの3つのシンボリックリンクを/usr/binにコピーします

1
boroboris

私の場合、再インストール後にバイナリファイルを手動で置き換える必要がありました。

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