Golang官网有各种安装包,不需安装解压就可使用,但有时候想调试或自已修改代码就需要自已编译安装。Golang 1.4版本以前是用C写的,可以直接用GCC编译;但到了1.5就开始用GO写,再用GCC就没法编译,需要用GO编译GO!所以如果要编译1.5及以上版本就需要先编译一个1.4版本的Go,或者直接下载各个版本的Go安装包。用这个编译好的Go去编译我们需要源码安装的Go。
安装前准备:
go1.4-bootstrap-20171003.tar.gz
go1.12.5.src.tar.gz
如上,我们用go1.4去源码安装go1.12.5。
编译安装go1.4:
将go1.4-bootstrap-20171003.tar.gz解压到go1.4-bootstrap:
cd /root/sandydu/
tar -zxf go1.4-bootstrap-20171003.tar.gz
mv go go1.4-bootstrap
编译go1.4-bootstrap:
cd go1.4-bootstrap/src
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 ./make.bash
安装验证:
会多出两个目录:bin和pkg,这里面就是后续编译go1.12.5需要用到的工具。
编译安装go1.12.5:
将go1.12.5.src.tar.gz解压到go1.12.5:
cd /root/sandydu/
tar -zxf go1.12.5.src.tar.gz
mv go go1.12.5
编译go1.12.5:
cd go1.12.5/src
GOROOT_BOOTSTRAP=/root/sandydu/go1.4-bootstrap GO_GCFLAGS="-N -l" ./all.bash
安装验证:
同样也会多出两个目录:bin和pkg。官网上通过go1.12.5.linux-amd64.tar.gz解压出来的内容和我们编译到go1.12.5目录的内容是一样的。
参考文献:
https://dl.google/go/go1.4-bootstrap-20171003.tar.gz
更多推荐
Golang源码编译
发布评论