Go语言环境安装详细介绍

go有两套编译工具链,分别是从plant9移植过来的gc和依赖gcc的gccgo。

官方为gc工具链提供了二进制安装包和源码, 可以根据需要选择一种安装方式。gc工具链对操作系统和CPU类型的支持情况如下:

操作系统CPU类型备注
FreeBSD 8 or later   amd64, 386, arm   Debian GNU/kFreeBSD not supported; FreeBSD/ARM needs FreeBSD 10 or later  
Linux 2.6.23 or later with glibc   amd64, 386, arm   CentOS/RHEL 5.x not supported; no binary distribution for ARM yet  
Mac OS X 10.6 or later   amd64, 386   use the gcc** that comes with Xcode**  
Windows XP or later   amd64, 386   use MinGW gcc. No need for cygwin or msys.  

对于其它操作系统或CPU类型,需要从源码编译gc工具链或使用gccgo。

如果使用cgo,则需要安装gcc;

Xcode command tool是Xcode的一部分,它包含gcc编译器, 可以从Xcode的Componts->Downloads对话框中下载该tool。

安装 二进制安装

官网下载二进制包如*go1.6.linux-amd64.tar.gz*

解压到/usr/local目录:

$ tar -C /usr/local -xzf go$VERSION.$GOOS-$GOARCH.tar.gz

将/usr/local/go/bin添加到PATH中:

$ export PATH=$PATH:/usr/local/go/bin

go默认假设被安装到/usr/loca/go,如果被安装到其它位置,则需要设置GOROOT环境变量。例如,二进制包被解压到$HOME目录,则设置如下:

$ export GOROOT=$HOME/go $ export PATH=$PATH:$GOROOT/bin

注意:只有当将go安装到非/usr/local目录时才需要设置GOROOT变量。

从源码编译安装 安装Go编译器二进制文件

1.4版本后的Go工具链是用go语言写的,如果要构建它,系统需要安装Go编译器:

如果系统已经有>= 1.4版本的go工具链,则将GOROOT_BOOTSTRAP变量设置为所在目录;

$ unset GOROOT GOPATH #如果系统已经有go工具链,需要清除`$GOPATH`和`$GOROOT`变量; $ export GOROOT_BOOTSTRAP=$HOME/local/go

否则,需要下载1.4版本的go工具链,该版本是C写的,只依赖gcc和glibc;可以下载二进制或编译并安装源码,然后将GOROOT_BOOTSTRAP变量设置为所在目录;

$ cd /tmp $ git clone git@github.com:golang/go.git $ cd go $ git checkout -b 1.4.3 go1.4.3 $ cd src $ ./all.bash #编译go 1.4.3 $ export GOROOT_BOOTSTRAP=/tmp/go/go #GOROOT\_BOOTSTRAP缺省值为`$HOME/go1.4`,如果安装到其它位置,则需要重新定义;

使用GOROOT_BOOTSTRAP变量指定Go工具链位置(如果位于$HOME/go1.4,则无需指定)后,可以执行源码中的bootstrap.bash脚本,生成支持$GOOS、$GOARCH指定的目标操作系统和架构的新工具链:

$ GOOS=linux GOARCH=ppc64 ./bootstrap.bash

该命令生成的工具链位于../../go-${GOOS}-${GOARCH}-bootstrap.目录,可以设置为变量GOROOT_BOOTSTRAP的值,用于后续编译源码;

编译最新的go源码

设置git代理:

$ git config http.proxy :passwd@host:port $ git config https.proxy https://user:passwd@host:port

设置go get代理

$ export http_proxy=http://user:passwd@host:port

获取源代码:

直接下载或者从git仓库clone。

从git代码库clone:

$ git clone https://go.googlesource.com/go #需FQ $ git clone https://github.com/golang/go.git $ cd go $ git checkout go1.6 #也可以切换到其它分支如master

编译源代码

$ pwd /tmp/ $ cd go/src $ ./all.bash #使用`GOROOT_BOOTSTRAP`指定的go 1.4版本以上的工具链来编译go源码 ... ALL TESTS PASSED --- Installed Go for linux/amd64 in /tmp/go Installed commands in /tmp/go/bin *** You need to add /tmp/go/bin to your PATH.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14893.html