Ответ 1
Похоже, у вас установлены две версии Go. Один из диспетчера пакетов ubuntu и тот, который вы установили из исходного tar.
Чтобы подтвердить, попробуйте удалить gccgo:
sudo apt-get remove gccgo
Вкл go version
: он печатает
go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64
Моя установленная версия является последней и 1.4.2
который был установлен из версии tar: go1.4.2.linux-amd64.tar.gz
GO Переменные окружения выглядят так:
GOARCH="amd64"
GOBIN="/home/user/coding/golang/gocnew/goc/bin"
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/coding/golang/gocnew/goc"
GORACE=""
GOROOT="/home/user/go"
GOTOOLDIR="/home/user/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"
Я ожидаю, что версия go будет напечатана как 1.4.2, так как это может быть достигнуто?
Похоже, у вас установлены две версии Go. Один из диспетчера пакетов ubuntu и тот, который вы установили из исходного tar.
Чтобы подтвердить, попробуйте удалить gccgo:
sudo apt-get remove gccgo
У меня возникла та же проблема, и я исправил ее следующим образом: Доступ к папке go: /usr/local/go (папка установки go) Выполните следующие команды:
Добавлено Go Path
echo 'export GOROOT=/usr/local/go' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> ~/.bashrc
А затем перейдите в исходную папку и проверьте версию go: go version go1.12.2 linux/amd64
будет отображаться та же версия в папке go, и вы можете работать с командами go.