编译:版本";go1.9“;与go工具版本不匹配;go1.9.1“;
当我试图运行一个示例helloworld代码时,我遇到了这个错误编译:版本";go1.9“;与go工具版本不匹配;go1.9.1“;,go,Go,当我试图运行一个示例helloworld代码时,我遇到了这个错误 compile: version "go1.9" does not match go tool version "go1.9.1" 我的电脑有go1.9.1。错误的含义是什么?我如何解决此问题?如果您使用OSX自制软件进行安装,您可能需要在.bashrc、.zshrc中设置$GOROOT,等等: export GOROOT=/usr/local/opt/go/libexec 今天早上,当我从1.9->1.9.1更新时,我也遇到
compile: version "go1.9" does not match go tool version "go1.9.1"
我的电脑有go1.9.1。错误的含义是什么?我如何解决此问题?如果您使用OSX自制软件进行安装,您可能需要在
.bashrc
、.zshrc
中设置$GOROOT
,等等:
export GOROOT=/usr/local/opt/go/libexec
今天早上,当我从1.9->1.9.1更新时,我也遇到了同样的错误,不过根据几篇帖子,$GOROOT
应该不需要设置,直到今天我才设置。这可能是个bug
编辑:不是错误,有关详细信息,请参阅。当您忘记删除以前的golang安装时,会发生此错误。。。只需删除它的目录。。。所以请确定安装位置。。。关于linux问题
type go
典型的输出是
go is hashed (/usr/local/go/bin/go)
所以只需删除它的祖父母目录(不要只安装它的二进制文件)
现在只需安装go,您就可以了如果您将mac与自制软件一起使用,只需运行:
brew清理
要清除所有旧版软件包,这修复了我的问题。在mac OS中,如果下载并安装的go软件包没有brew,则运行brew update命令将导致出现此问题 要解决此问题,您可以执行以下操作: brew卸载--忽略依赖项
从brew卸载go将解决Windows的问题删除环境变量中的GOROOT系统变量并重新启动电脑
这是
GOROOT
环境变量与go
命令的默认路径不匹配。一个或另一个需要改变;需要更改的设置取决于计算机上的特定设置。您可以通过使用首选方法将Go更新到最新版本来确定这一点,运行which Go
(在Linux/macOS/BSD上)或where Go
(在Windows上),然后检查列出的哪些文件具有较新的时间戳
Linux/macOS/BSD
- 要更改
以匹配GOROOT
命令的默认路径,请运行go
,并去掉末尾的键入go
部分,以生成包含go安装的目录路径。然后,将其添加到/bin/go
或其他适当的init文件中,如下所示:.bashrc
- 要更改
命令路径以匹配go
,请将其添加到init文件的底部:GOROOT
export PATH=“${GOROOT}/bin:${PATH}”
窗户
- 要更改
以匹配GOROOT
命令的默认路径,请运行go
获取输出的第一行,并去掉末尾的where go
部分。然后,转到“设置”中的“编辑系统环境变量”,单击“环境变量…”,找到“GOROOT”变量并进行编辑以读取先前创建的路径\bin\go.exe
- 要更改
命令路径以匹配go
,请首先保存GOROOT
echo%GOROOT%\bin的输出。然后,转到“设置”中的“编辑系统环境变量”,单击“环境变量…”,然后找到 在底部窗格中找到“路径”行,单击“新建”,放入先前创建的路径,最后单击“上移”,直到它位于顶部
如果使用VsCode,只需将其添加到setting.json中即可
"go.goroot": "/usr/local/Cellar/go/1.x.x/libexec",
您的Go安装有问题。要么在不应该的时候设置了GOROOT,要么调用了错误的
go
binary,或者GOROOT
中的源代码与工具不匹配,需要重新编译。当您更新Go Memory delete/usr/local/Go Folder时,您应该发布Go env
的结果。在我的情况下,IntelliJ IDEA/Golang IDE将GOROOT
设置为自制安装的早期版本。macOS部分的第二个选项为我工作,谢谢你的解释。我在brew更新后遇到了这个问题。为了修复它,我使用命令安装了旧版本:brew-linkgo@1.14
之后,a将GOROOT
值更改为:GOROOT=/usr/local/opt/go@1.14/libexec
就我而言,我买了一台新笔记本电脑。我将所有代码、bashrc和其他类似文件复制到我的新笔记本电脑上,这样我就可以利用相同的别名/变量等。我认为go安装是在新笔记本电脑上新完成的,因此这条路径不匹配。这个解决方案有帮助。
"go.goroot": "/usr/local/Cellar/go/1.x.x/libexec",