Mac|Mac OS Go安装出现segmentation fault解决办法。

想看结论直接拉到最下面 安装Go: 从官网下载安装的dmg文件。一路next。
配置Go环境变量: 目前配置:
/etc/profile 下:

Mac|Mac OS Go安装出现segmentation fault解决办法。
文章图片
image.png ~/.zshrc 下:

Mac|Mac OS Go安装出现segmentation fault解决办法。
文章图片
image.png 【Mac|Mac OS Go安装出现segmentation fault解决办法。】执行Go之后的结果:

Mac|Mac OS Go安装出现segmentation fault解决办法。
文章图片
image.png 查询google,并没有什么靠谱的答案。
Trackback原因: go这个命令可以使用,说明了在/usr/local/bin中可能有这个命令。
偶然间,使用which go, 发现居然显示了go的路径在/usr/local/bin。
这和讲道理本来应该的情况是不一样的。本来应该在/usr/local/go/bin/go。
于是查看/usr/local/bin,发现里面存在go, gofmt , godoc 三个存在在/usr/local/go/bin里面,默认应该使用的是path.d/go这个文件去设置环境变量。
“ll”一下,结果发现,go、godoc、gofmt居然是从Cellar里面link过来的。Cellar这个文件夹里面,大部分的东西都是homebrew装的。于是大胆推测,以前应该是使用过homebrew安装过Go。所以这次再使用官方的安装包安装Go可能会起冲突。
于是brew uninstall go ,再按照https://golang.google.cn/doc/install#uninstall 上面说的,卸载之前使用dmg安装的go程序(1. 删除/usr/local/go : 2. 删除/etc/path.d/go)。最后再重新使用go官方包安装。
yeap!

Mac|Mac OS Go安装出现segmentation fault解决办法。
文章图片
image.png
结论

  • Go安装,启动后出现segmentation fault的原因应该是brew install 的旧版本和包安装的新版本起冲突。
  • 解决的方法是:
    • 删除以前homebrew安装的go:brew uninstall go。
    • 删除现在用包安装的go:按照https://golang.google.cn/doc/install#uninstall 上去做。
      • 删除/usr/local/go
      • 删除/etc/path.d/go
    • 重新使用golang官网上下载的包进行安装。

    推荐阅读