这两天公司成立了go语言学习兴趣小组,慕名参与了学习。目前对于go是0基础,只知道它可以做高并发、效率快、编译简单、母语是C. go的安装有多种形式,编译安装是比较慢的一个,今天我就记录一下学习go编译安装流程。

  1、下载软件包 https://studygolang.com/dl

    go1.12.7.darwin-amd64.tar.gz

  2、解压到/opt/local/etc/位置 我习惯用统一的位置安装软件

    tar -C /opt/local/etc/ -xzf go1.12.7.darwin-amd64.tar.gz

  3、cd go/scr

  4、官方文档上写的到这一步就执行安装 ./all.bash  这个时候会报错的哟

ERROR: Cannot find /Users/admin/go1./bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.

  这是说明,安装go 1.5以上的包需要基于go1.4 的依赖。为什么我也不知道。它好像在找这个目录的go  /Users/admin/go1.4/bin/go. 可惜没有呀。

  网上看了其他案例,它们找的地址不同,大多数是找 /root/go1.4/bin/go 找不到。应该是根据每个人的安装目录有关系。这边继续解决安装go1.4

  5、下载go1.4的代码(只有通过git 克隆最新的代码,切换到1.4版本中去)

sudo git clone https://github.com/golang/go.git

  注意:但是下载git的这个流程真的非常熬时间。建议果断放弃继续往下走,改变一下自己host吧。

  vi /etc/host   加入如下信息,保存退出

192.30.253.112 github.com
151.101.44.249 github.global.ssl.fastly.net

  最后在更新DNS缓存  sudo dscacheutil -flushcache  

  6、经过很长一段时间,代码就会下载完成。这个时候需要 git branch 当前分支是master.

    切换到go1.4版本中去

git checkout release-branch.go1.4

  7、开始编译安装go1.4

    cd go/src

    ./all.bash

    即可执行完成。我这边当时报了一个错,没记录。我的解决方案是执行如下命令即可继续安装。

     export GO14TESTS=1

  8、这个时候将我的go1.4 放到我需要的位置 上文提到了咯,放到 /Users/admin/go1.4 即可。

  9、这个时候重新执行go1.12.7版本

    cd go/src

    ./all.bash

    到此安装成功!

  10、最后一步环境变量

    将 /Users/admin/go1.4/bin  和 我 opt/local/ext/go/bin 放到环境变量中去

     vi ~/.bash_profile

    

export GOPATH="/study/go"
export GOBIN=$GOPATH
export PATH="$PATH:/opt/local/etc/go/bin:/Users/admin/go1.4:$GOPATH/bin:$GOPATH/pkg:$GOBIN"

    保存退出,重启即可

    source ~/.bash_profile

  

  11、test

    

 admin@admindeMBP  /opt/local/etc/go  go version
go version go1.12.7 darwin/amd64

  12、查看go 配置

    go env

    

   

05-11 17:26