从源代码构建 Go 开发环境

时间:2022-06-11 00:28:21

从源代码构建 Go 开发环境


Go 1.5 之前的版本

安装C 语言开发环境

在Go 1.5 之前的版本(比如 1.3、1.4),都会部分的依赖 C 语言的工具链,所以如果你有C 语言的开发环境,就可以直接构建 Go 的开发环境了。如果没有 C 语言的开发环境,那就先安装C 语言的开发环境。

#我的目标机器是centos
yum install gcc

建立 Go 的目录结构

基本目录是这样的

$HOME/golang
|--3rd
|--go
|--own

因为我们还要安装 Go 1.5 之后的版本,需要向后兼容,所以我们需要把目录进行一下修改。添加版本目录。并且把go 指向我们当前使用的Go 版本目录。修改后的目录结构如下:

$HOME/golang
|--3rd
|--go -> go1.
|--go1.
|--own

此时的 go 目录是软链接,指向 go1.4。我是使用下载好的 Go 源码进行安装的,所以首先把源码解压为go1.4目录。

环境变量

GOPATH=$HOME/golang/3rdpkg:$HOME/golang/go:$HOME/golang/own

按照这样的配置,当使用 go get 获取 Go 包的时候,会首先导入到 $GOPATH 的第一个路径,也就是 3rdpkg 目录下。便于把第三方包和自己的项目区分开来。

设置 GOROOT

GOROOT=$HOME/golang/go

设置 PATH 变量

PATH=$PATH:$GOROOT/bin/

此时完整的环境变量设置为

GOPATH=$HOME/golang/3rdpkg:$HOME/golang/go:$HOME/golang/own
GOROOT=$HOME/golang/go
PATH=$PATH:$GOROOT/bin

安装 Go 1.4

cd $HOME/golang/go/src
./all.bash

执行完成之后,Go 1.4 就部署完成了。


Go 1.5 之后的版本

在 Go 1.5 以及之后的版本都移除了对 C 语言的依赖,而是使用 Go 编译新的Go 语言版本。所以我们的目录结构需要再做一下更改,让 Go 1.4来帮助我们构建新的Go 环境。

因为我们的目标是Go 1.5之后的版本,所以1.6 、1.7都是适用的,结下来我们编译最新的Go 1.7 环境。那我们的目录结构就是下面的样子了:

$HOME/golang
|--3rd
|--go -> go1.
|--go-bootstrap -> go1.
|--go1.
|--go1.
|--own

环境变量也做相应的修改

GOPATH=$HOME/golang/3rdpkg:$HOME/golang/go:$HOME/golang/own
GOROOT=$HOME/golang/go
PATH=$PATH:$GOROOT/bin
GOROOT_BOOTSTRAP=$HOME/golang/go-bootstrap cd $HOME/golang/go/src
./all.bash

参考 这里


同步发表:http://www.fengbohello.top/blog/p/golang