本文是主要参考 如何从源代码构建 Go 1.5 开发环境并针对目前go语言版本1.5.2做了归纳和整理,感谢这位前辈提供了一个早期较为详细的从源码构建的教程
如果你是go语言的初学者学习并且没有编程经验,建议从GO官方网站下载安装编译好的二进制包
以下步骤均在Linux系统下配置,windows系统建议直接使用官方的安装包
第一部分设置环境和安装go1.4
首先建议在$HOME目录下创建一个用于golang的workspace工作目录,如:
$~ cd $HOME
$~ mkdir workspace
$~ cd workspace在这个目录下创建两个目录:3rdpkg和work,第一个目录用于存放第三方包,第二个目录存放go源码文件: mkdir 3rdpkg && mkdir work
设置环境变量:打开/etc/profile文件或~/.bashrc文件。第一个为所有用户配置go环境,第二个只为家用户做环境配置,写入以下:
export GOROOT=$HOME/workspace/go
export GOPATH=$HOME/workspace/3rdpkg:$HOME/workspace/go:$HOME/workspace/own
export PATH=$PATH:$GOROOT/bin/由于go1.5已经实现自举,所以必须使用go1.4提供的一些工具来对源码进行编译,因此在从git下一个go1.4版本
$~ cd $HOME/workspace/
$~ git clone -b go1.4.2 https://github.com/golang/go.git go1.4
- 然后创建一个软链接让 GOROOT 的软链接目录指向实际保存 Go 1.4 代码的目录
$~ ln -s go1.4 go - 进入目录 $HOME/golang/go/src,运行 all.bash 脚本:
cd $HOME/golang/go/src
./all.bash
5.编译完成和测试完成后输入 go version 查看是否有1.4.2的版本回显,若有则说明成功,没有成功请检查环境变量是否设置正确。
第二部分安装go1.5
由于 Go 1.5 需要基于 Go 1.4 构建,所以 Go 1.5 需要一个独立的目录放置
git clone https://go.googlesource.com/go go1.5
cd go1.5
git checkout go1.5.2修改go软链接
unlink go
ln -s go1.5 go
ln -s go1.4 go-bootstrap请对照目前环境变量的设置,并用source命令使其生效
GOPATH=$HOME/workspace/3rdpkg:$HOME/workspace/go:$HOME/workspace/own
GOROOT=$HOME/workspace/go
PATH=$PATH:$GOROOT/bin
GOROOT_BOOTSTRAP=$HOME/workspace/go-bootstrap进入目录 $HOME/workspace/go/src执行./all.bash 脚本
使用go version 查看回显
从源码构建go1.5如果顺利应该就构建成功了,按照官方文档给出的流程十分简洁,GO从1.4到1.5有了很大的改动,如果有兴趣可以去看下文档
最后,非常感谢mikespook前辈,这是他的博客,分享了一些很好的go语言相关技术,大家可以去看看
注:当使用git更新版本仓库时,必须重新使用all.bash再次执行编译过程version版本才会改变