> ## Content Index
> Fetch the complete content index at: https://blog.hacking.pub/llms.txt
> Use this file to discover other available public pages before exploring further.

# go1.7 安装小记
- URL: https://blog.hacking.pub/2016/10/17/go1-7-an-zhuang-xiao-ji/
- Published: 2016-10-17T11:59:06.000Z
- Updated: 2016-10-27T02:55:24.000Z
- Author: chainhelen
- Tags: golang, go, 语言

## 先安装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

```

报错:  
![错误](http://image.hacking.pub/s/j2ljw59t6wn26vm/golang.png?dl=0)  
[这里可以看到bug](https://github.com/golang/go/issues/13114?ref=blog.hacking.pub#issuecomment-186922245)，添加环境变量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

```

**当然可能遇到如下问题**

![错误](http://image.hacking.pub/s/cqdx5g8amq9qg49/dns.png?dl=0)  
这只是test的过程，墙造成的，无关紧要。

至此已经安装完毕:

```
$ go version
go version go1.7.1 linux/amd64

```