先安装go1.4版本
因为go1.5以后的版本不再使用c语言参与,需要使用GO1.4版本的工具链接编译。
$ apt-get install gcc libc6-dev
在$HOME目录新建目录golang目录,设置环境变量
$ GOROOT=$HOME/golang/go
$ PATH=$PATH:$GOROOT/bin
在 $HOME/golang下,下载1.4源码
$ git clone -b go1.4.2 https://github.com/golang/go.git go1.4
把新建一个软链接go 指向 go1.4目录
$ ln -s go1.4 go
进入go源码,运行all.bash脚本
$ cd $HOME/golang/go/src
$ ./all.bash
报错:
这里可以看到bug,添加环境变量CGO_ENABLED
CGO_ENABLED=0 ./all.bash
过一段时间,可以看到已经安装成功
$ go version
go version go1.4.2 linux/amd64
安装go 1.7
删除掉go软链接
$ unlink go
然后 $HOME/golang/ 目录下 git clone go1.7的代码
$ git clone -b go1.7.1 https://github.com/golang/go.git go1.7
设置 go 的软链接指向 go1.7,并且go1.4设置 为 go-GOROOT_BOOTSTRAP
ln -s go1.7 go
GOROOT_BOOTSTRAP=$HOME/golang/go1.4/ $GOROOT/src/all.bash
当然可能遇到如下问题
这只是test的过程,墙造成的,无关紧要。
至此已经安装完毕:
$ go version
go version go1.7.1 linux/amd64