几乎是标题。我为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
我的工作区位于名为&#34; Go&#34;的目录中。在我的主文件夹中。
到目前为止我检查了什么:
我检查了/ usr / local / go / bin中的文件,VERSION文件说明了&#34; 1.8&#34;,所以我知道安装成功。
我还更新了终端会话,我甚至重启了我的电脑,以确保没有其他进程干扰它。
我使用Webstorm作为我的IDE,它正确地将1.8识别为工作版
它不是版本号本身的错误,因为我无法使用&#34; NextResultSet()&#34; sql功能,在1.8版本中引入
我认为罪魁祸首可能是上面.bashrc文件中的错误配置,因为只有终端卡在旧版本上,但我无法弄清楚它有什么问题。
答案 0 :(得分:15)
您显然安装了旧版本的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
的 end :
export PATH=$PATH:/usr/local/go/bin
这意味着如果PATH
包含旧Go安装的bin
文件夹(很可能),则用于执行go
命令。
答案 1 :(得分:6)
我有同样的问题。即使在golang网站上安装Golang 1.10后,mac终端仍然显示1.7版本。
通过自制程序更新golang修复了我的问题。
brew update
brew upgrade golang
答案 2 :(得分:1)
TLDR
通过将链接从安装文件夹移动到二进制文件/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
将这三个符号链接复制到/usr/bin
答案 3 :(得分:0)
就我而言,我必须在重新安装后手动替换二进制文件。
cp /usr/local/go/bin/* /usr/local/bin/
答案 4 :(得分:0)
我安装了来自 https://golang.org/doc/install 的最新版本 这将替换默认路径中的路径,即 /usr/local/go/bin/go for mac 并且不需要对 ~/.bashrc/ ~/.bash_profile 在 mac 上进行任何手动更改,除非从未设置默认路径.