差不多就是这个标题.我下载/安装了适用于OS X的GO 1.8,但是当我go 的时候

$ 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中的文件,版本文件显示为"1.8",因此我知道安装成功.

  • 我还续订了我的终端会话,我甚至重启了我的PC,以确保没有其他进程干扰它.

  • 我使用WebStorm作为我的IDE,它正确地将1.8识别为工作版本

  • 这不是版本号本身的错误,因为我不能使用1.8版中引入的"NextResultSet()"SQL功能

我相信罪魁祸首可能是上面.bashrc文件中的错误配置,因为只有终端停留在旧版本上,但我找不出它有什么问题.

推荐答案

您显然安装了旧版本的Go,否则您不会看到go version的输出是go version go1.7.5 darwin/amd64.

IDE可能有更高级的方法来检测GO安装,而不是简单地扫描PATHGOROOT(这就是为什么您的IDE发现并建议使用更新的GO 1.8的原因).

执行which go,你就会看到你的老围棋在哪里.删除它(以及对它的引用).

请注意,在您的.bashrc人中,您正在将正确的GO bin文件夹附加到PATH人中的第end人:

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

这意味着如果PATH包含旧GO安装的bin文件夹(很可能),则用于执行go命令.

Go相关问答推荐

Go Fiber和HTMX—HX—Trigger header被更改为HX—Trigger,这不是HTMX监听的内容

带有一个新变量的Go冒号等于运算符

如果values.yaml文件中不存在某个属性,如何返回默认的FALSE?

什么东西逃到了堆里?

一次打印用户输入的字符串n次

如何修复 Go 中协议缓冲区定义中重新定义的字段?

如何在正则表达式中使整个单词可选?

尽管存在 WaitGroup,Goroutines 似乎被打断了

此 Golang 程序中的同步问题

设置 graphql 的最大文件上传大小(golang)

Go 的垃圾收集器在使用时删除 ZeroMQ 套接字

无法使用 gocsv 读取引用字段

go-echo中如何防止+转义

Wire google Inject with multi return from provider 函数

Protobuf.Any - 从 json.RawMessage 解组

如何编写一个以字符串或错误为参数的通用函数?

即使一个测试用例失败,如何运行所有测试用例

跟踪长时间运行的任务的进度 - 正确的方法

Go GCP 同时模拟两个服务帐户

Dynamodb.ScanInput - 不能使用expr.Names()(类型 map[string]*string)作为类型 map[string]string