Команда go version показывает номер старой версии после обновления до 1.8
В значительной степени название. Я загрузил/установил Go 1.8 для OS X, но когда я иду
$ 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
Моя рабочая область находится в каталоге "Go" в моей домашней папке.
То, что я проверил до сих пор:
-
Я проверил файлы в /usr/local/go/bin, а файл VERSION - "1.8", поэтому я знаю, что установка прошла успешно.
-
Я также обновил сеанс терминала, я даже перезагрузил свой компьютер, чтобы другие процессы не мешали ему.
-
Я использую Webstorm в качестве моей IDE, и он правильно распознал 1.8 в качестве рабочей версии
-
Это не ошибка в самом номере версии, поскольку я не могу использовать функциональность "NextResultSet()", введенную в версии 1.8
Я считаю, что виновник может быть неправильной конфигурацией в файле .bashrc выше, поскольку только терминал застрял в старой версии, но я не могу понять, что с ним не так.
Ответы
Ответ 1
У вас, очевидно, установлена старая версия Go, иначе вы не могли бы видеть go version go1.7.5 darwin/amd64
как вывод go version
.
В IDE может быть более продвинутый метод обнаружения Go установок других, которые просто сканируют PATH
и GOROOT
(и поэтому ваша IDE обнаружила и предложила новый Go 1.8).
Выполните which go
, и вы увидите, где находится ваш старый Go. Удалите его (и ссылки на него).
Обратите внимание, что в .bashrc
вы добавляете правильную папку Go bin
в конец PATH
:
export PATH=$PATH:/usr/local/go/bin
Это означает, что если PATH
содержит папку bin
старой установки Go (очень вероятно), которая используется для выполнения команды go
.
Ответ 2
Я была такая же проблема. Даже после установки golang 1.10 на Mac через загрузку с веб-сайта golang, терминал Mac все еще показывал версию 1.7.
Обновление golang через homebrew решило мою проблему.
brew update
brew upgrade golang
Ответ 3
TL;DR Я решил мою проблему, переместив ссылку на двоичный файл из папки установки в /usr/bin/go
Шаг за шагом:
-
найти идти бинарный:
$which go
/usr/bin/go
-
создать символические ссылки:
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 символические ссылки в /usr/bin
Ответ 4
В моем случае мне пришлось заменить двоичные файлы вручную после переустановки.
cp /usr/local/go/bin/* /usr/local/bin/