编译:版本“go1.9”不匹配go工具版“go1.9.1”

时间:2017-10-11 16:50:31

标签: go

当我尝试运行我得到的示例helloworld代码时,我收到此错误。

compile: version "go1.9" does not match go tool version "go1.9.1"

我的电脑已经去了1.9.1。错误是什么意思,我该如何解决?

8 个答案:

答案 0 :(得分:18)

如果您使用OSX自制软件进行安装,则可能需要在$GOROOT.bashrc等设置.zshrc

export GOROOT=/usr/local/opt/go/libexec

今天早上从1.9更新时出现了同样的错误 - > 1.9.1虽然根据几篇文章,$GOROOT不应该被设置,我直到今天才设置它。这可能是一个错误?

答案 1 :(得分:11)

如果您使用自制的mac,只需运行: repo sync

清理所有旧版程序包,这解决了我的问题。

答案 2 :(得分:3)

当您忘记删除以前的golang安装时会发生此错误...只需删除其目录...以便在linux问题上识别安装位置...

sudo rm -rf /usr/local/go   #  NOTE this is not /usr/local/go/bin/go

典型输出

21

所以只需删除它的祖父目录(去安装而不仅仅是它的二进制文件)

$row=mysqli_fetch_assoc($result2);

现在只需安装即可,你会没事的

答案 3 :(得分:2)

这是GOROOT环境变量和go命令的默认路径之间的不匹配。一个或另一个需要更改;需要更改的选项取决于您计算机上的特定设置。您可以通过使用首选方法将Go更新到最新版本,运行which go(在Linux / macOS / BSD上)或where go(在Windows上),然后检查哪个文件来确定列出的时间戳较新。

Linux / macOS / BSD

  • 要更改GOROOT使其与go命令的默认路径匹配,请运行type go并在末尾去除/bin/go部分以产生包含以下内容的目录路径您的Go安装。然后,将其添加到您的.bashrc或其他合适的初始化文件中,如下所示:

export GOROOT=/path/to/go-installation

  • 要改为更改go命令路径以与GOROOT匹配,请将其添加到初始化文件的底部:

export PATH="${GOROOT}/bin:${PATH}"

Windows

  • 要更改GOROOT使其与go命令的默认路径匹配,请运行where go,输出第一行,然后剥去\bin\go.exe最后部分。然后,转到“设置”中的“编辑系统环境变量”,单击“环境变量...”,找到“ GOROOT”变量并进行编辑以读取您之前创建的路径。

  • 要改为更改go的命令路径以匹配您的GOROOT,请首先保存echo %GOROOT%\bin的输出。然后,转到“设置”中的“编辑系统环境变量”,单击“环境变量...”,然后找到 在底部窗格中找到“路径”行,单击“新建”,放入先前创建的路径,最后单击“上移”直到其位于顶部。

全部

您需要打开一个新的命令提示符才能看到效果。

答案 4 :(得分:0)

在mac OS中,如果您下载并安装了不带brew的go软件包,则运行brew更新命令将导致出现此问题。 要解决此问题,您可以执行以下操作: brew卸载--ignore-dependencies 从brew卸载go可以解决问题

答案 5 :(得分:0)

对于Windows,请删除环境变量中的GOROOT系统变量,然后重新启动PC。

enter image description here

答案 6 :(得分:0)

采用一种简单的方法(Linux),我在系统中安装了不同版本的Go。

  

$哪里去了

帮助我找到了可用的go runnable,将它们全部删除,安装了一个新的go runnable,并确保在$ PATH文件夹之一中为此新的Go runnable创建链接,以确保以下内容提供了当前已安装版本的正确版本。 / p>

  

$ go版本

答案 7 :(得分:0)

如果使用VsCode,只需将其添加到setting.json中。

"go.goroot": "/usr/local/Cellar/go/1.x.x/libexec",