这两天公司成立了go语言学习兴趣小组,慕名参与了学习。目前对于go是0基础,只知道它可以做高并发、效率快、编译简单、母语是C. go的安装有多种形式,编译安装是比较慢的一个,今天我就记录一下学习go编译安装流程。
1、下载软件包 https://studygolang.com/dl
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