编译错误:版本不匹配
遇到错误“compile: version "go1.9" does not match go tool version "go1" .9.1"" 在运行 Go 应用程序时,表示用于编译程序的 Go 版本与“go”工具提供的版本不匹配。
可能原因
解决方案
要解决此错误,您可以按照以下步骤操作:
检查您的 Go 版本
验证系统上安装的 Go 版本是否与代码中指定的版本匹配。使用以下命令显示您的 Go 版本:
go version
更新您的 Go 发行版
如有必要,请将您的 Go 发行版更新为代码中指定的版本。您可以从 Go 官方网站下载最新版本,如果您使用的是 macOS,则可以使用“brew”包管理器:
brew install go@1.9.1
指定正确的 Go 版本
修改您的代码以指定正确的 Go 版本。在您的情况下,将导入语句中的“go1.9”替换为“go1.9.1”:
package main import "fmt" import "go1.9.1/os" func main() { fmt.Println("Hello, Go!") os.Exit(0) }
注意:如果您使用 'brew' 包管理器安装了 Go macOS,您可能需要在 shell 配置文件中设置 $GOROOT 环境变量。将以下行添加到您的 .bash_profile、.zshrc 或 .config/fish/config.fish 文件中:
export GOROOT=/usr/local/opt/go/libexec
进行这些更改后,重新编译程序,错误就会消失。
以上是为什么我的 Go 应用程序中会出现'编译:版本'go1.9”与 go 工具版本'go1.9.1”不匹配”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!