如何将 Go 从 1.10 降级到 1.9?

How do I downgrade Go from 1.10 to 1.9?

我在 vscode 中使用 delve 在 Mac 中调试 Go 1.10 时遇到问题。 我读到 here 解决方法是降级到 Go 1.9。 由于我是 Go 的新手,但已经安装了很多东西,我该如何干净利落地做到这一点?

升级方式相同。也就是说,删除现有版本,然后安装新版本。尽管 "downgrade" 没有在官方文档中明确说明,但它 does explain how to do it.

我使用自己的 fork of gvm 轻松地在 go 版本之间切换。原来的 gvm 相当旧,每个版本都有不同的 gopath,我发现它很烦人并在我的 fork 中删除了。

所以设置gvm后,你可以做

gvm install go1.9.5 -B
gvm use go1.9.5 --default

-B 标志安装来自二进制版本。如果你不添加它,它会尝试从源代码编译它,这需要更多的设置。

我不知道您是否需要降级 Go 以重新启用调试。我在 Mac(10.13) 上遇到了同样的问题,问题似乎是 XCode.

Here我找到了解决调试问题的方法。

您应该删除当前的 XCode 命令行工具二进制文件:

sudo rm -rf /Library/Developer/CommandLineTools

并使用以下链接之一安装较旧的 XCode 命令行工具(对我来说它使用 9.2):

继续 Ubuntu 升级或降级的最佳方法是从 here 下载所需的版本。在这里,您可以拥有所有稳定版和发行版,以及存档版本。

下载您选择的版本后,您可以按照进一步的步骤操作,我建议您下载 tar.gz 格式用于 ubuntu 机器:

  1. 首先通过执行此操作从您的本地完全删除旧版本

sudo rm -rf /usr/local/go /usr/local/gocache

这将删除所有本地 go 代码库,但等待我们必须做更多的事情才能从本地完全删除,我错过了这一步并且花了很多时间直到我明白我错过了什么所以这是清除要从列表中删除的内容

sudo apt-get purge golang

sudo apt remove golang-go
  1. 现在安装/提取您下载的 go inside /usr/local/go 版本,方法是点击终端

tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz

  1. 完成上述所有操作后,不要忘记或检查 GOROOT 变量值,如果未设置,则可以通过 go env 检查值,然后 export PATH=$PATH:/usr/local/go
  2. 最好测试一个小的go程序来确定。如果你没有改变 set GOPATH value:
  3. 就把这个写在 /home/yourusername/go/test.php 里面
package main

import "fmt"

func main() {
    fmt.Println("hello world")
}
  1. 运行 这来自 go run test.go

希望对你有用!!

首先从系统中移除go

  • sudo snap remove go

然后安装特定版本的go

  • sudo snap install --classic --channel=1.14/stable go