如何一步一步从源码构建go1.5及以上版本

本文是主要参考 如何从源代码构建 Go 1.5 开发环境并针对目前go语言版本1.5.2做了归纳和整理,感谢这位前辈提供了一个早期较为详细的从源码构建的教程

如果你是go语言的初学者学习并且没有编程经验,建议从GO官方网站下载安装编译好的二进制包

以下步骤均在Linux系统下配置,windows系统建议直接使用官方的安装包

第一部分设置环境和安装go1.4

  1. 首先建议在$HOME目录下创建一个用于golang的workspace工作目录,如:
    $~ cd $HOME
    $~ mkdir workspace
    $~ cd workspace

  2. 在这个目录下创建两个目录:3rdpkg和work,第一个目录用于存放第三方包,第二个目录存放go源码文件: mkdir 3rdpkg && mkdir work

  3. 设置环境变量:打开/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/

  4. 由于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

  1. 由于 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

  2. 修改go软链接
    unlink go
    ln -s go1.5 go
    ln -s go1.4 go-bootstrap

  3. 请对照目前环境变量的设置,并用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

  4. 进入目录 $HOME/workspace/go/src执行./all.bash 脚本

  5. 使用go version 查看回显

从源码构建go1.5如果顺利应该就构建成功了,按照官方文档给出的流程十分简洁,GO从1.4到1.5有了很大的改动,如果有兴趣可以去看下文档

最后,非常感谢mikespook前辈,这是他的博客,分享了一些很好的go语言相关技术,大家可以去看看
注:当使用git更新版本仓库时,必须重新使用all.bash再次执行编译过程version版本才会改变

你可能感兴趣的:(如何一步一步从源码构建go1.5及以上版本)