当我试图运行我得到的示例helloworld代码时,我收到此错误.
compile: version "go1.9" does not match go tool version "go1.9.1"
Run Code Online (Sandbox Code Playgroud)
我的电脑已经去了1.9.1.错误意味着什么,我该如何解决?
ksr*_*srb 19
如果您使用的OSX自制安装可能需要设置$GOROOT你的.bashrc,.zshrc等:
export GOROOT=/usr/local/opt/go/libexec
Run Code Online (Sandbox Code Playgroud)
今天早上我从1.9 - > 1.9.1更新时遇到了同样的错误,虽然根据几个帖子$GOROOT不应该设置,我直到今天才设置它.这可能是个错误?
Aar*_*ler 17
这是GOROOT环境变量与go命令的默认路径之间的不匹配。一个或另一个需要改变;需要更改的那个取决于您计算机上的特定设置。您可以通过使用首选方法将 Go 更新到最新版本来确定这一点,运行which go(在 Linux/macOS/BSD 上)或where go(在 Windows 上),然后检查列出的哪些文件具有较新的时间戳。
GOROOT以匹配go命令的默认路径,请运行type go并去掉/bin/go末尾的部分以生成包含 Go 安装的目录路径。然后,将它添加到您的.bashrc或其他适当的 init 文件中,如下所示:export GOROOT=/path/to/go-installation
go命令路径以匹配您的GOROOT,请将其添加到 init 文件的底部:export PATH="${GOROOT}/bin:${PATH}"
要更改GOROOT以匹配go命令的默认路径,请运行where go输出的第一行,并\bin\go.exe在末尾去掉部分。然后,转到“设置”中的“编辑系统环境变量”,单击“环境变量...”,找到“GOROOT”变量并编辑以读取您之前创建的路径。
要改为更改go命令路径以匹配您GOROOT的echo %GOROOT%\bin. 然后,进入设置中的“编辑系统环境变量”,点击“环境变量...”,在底部窗格中找到“路径”行,点击新建,输入之前创建的路径,最后单击“上移”直到它位于顶部。
您需要打开一个新的命令提示符才能看到效果。
小智 14
在 mac OS 中,如果您在没有brew的情况下下载并安装了go软件包,运行brew更新命令将导致出现此问题,要解决此问题,您可以执行以下操作:brew uninstall --ignore-dependencies go从brew卸载go将解决问题
对于 M1 Mac,以下步骤对我有帮助!
从 VSCode 终端检查并从系统终端检查。
从 vscode 终端
user@mac % which go
/usr/local/go/bin/go
Run Code Online (Sandbox Code Playgroud)
从我的 Mac 终端
user@mac % which go
/opt/homebrew/bin/go
Run Code Online (Sandbox Code Playgroud)
与 go env 显示的 GOROOT 对应的,保留它并删除另一个
user@mac % go env GOROOT
/usr/local/go
Run Code Online (Sandbox Code Playgroud)
在这种情况下
rm -rf /opt/homebrew/bin/go
Run Code Online (Sandbox Code Playgroud)
关闭并重新加载 vscode 和终端
当您忘记删除以前的 golang 安装时会发生此错误...只需删除其目录...因此请确定 go 安装位置...关于 linux 问题
type go
Run Code Online (Sandbox Code Playgroud)
典型输出是
go is hashed (/usr/local/go/bin/go)
Run Code Online (Sandbox Code Playgroud)
所以只需删除它的祖父目录( go install dir 不仅仅是 go 二进制文件)
sudo rm -rf /usr/local/go # NOTE this is not /usr/local/go/bin/go
Run Code Online (Sandbox Code Playgroud)
现在只需安装 go 就可以了
| 归档时间: |
|
| 查看次数: |
7176 次 |
| 最近记录: |