在Linux下编译安装go

compile-and-install-go-linux_golang.jpg

go是一种与C很像的开源语言,于2009年下半年发布
使用Tor需要go语言环境的支持。然而它似乎没有CentOS的安装包,我查找了一些资料编译安装go,并记录下全过程

使用的系统:CentOS 6.7 Raspbian

准备工作


在开始之前,创建一个screen,保证工作顺利进行

screen -r  
screen -S go  

安装go所需要的软件

install bison ed gawk gcc libc6-dev make  

设置一下环境变量

vi /etc/profile    

P.S.
此路径在CentOS6,Raspbian(基于Debian)下测试通过

添加以下语句

export GOROOT=/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/Applications/Go
export GOROOT_BOOTSTRAP=$GOROOT
export GOBIN=$GOROOT/bin  

P.S.
GOROOT go程序根目录
GOPATH go工程默认路径

更新环境变量并验证

source /etc/profile
env  

下载1.4.2源码


根据谷歌官方给出的消息,安装go1.5之前需要先安装go1.4

wget https://storage.googleapis.com/golang/go1.4.2.src.tar.gz
tar -zvxf go1.4.2.src.tar.gz  
mv go $GOROOT  

由于网络环境原因,如果无法从谷歌官方镜像下载go源代码包,可以选择从国内镜像下载
官方页面 国内镜像

编译


这个过程将因主机性能而异。放置在ConoHa上的KVM VPS耗时约两分钟,raspberry 2 耗时约35分钟。

cd $GOROOT/src
./all.bash

#or

./make.bash

不进行测试,直接编译源码。可以增加速度,但不推荐

编译成功信息


Checking API compatibility.  
Skipping cmd/api checks; hg not available

real    0m1.320s
user    0m0.486s
sys     0m0.132s

ALL TESTS PASSED

Installed Go for linux/amd64 in /*$GOROOT*/  
Installed commands in  /*$GOROOT*/bin  

测试


在GOPATH下使用vim新建一个HelloWorld.go

package main  
func main()   
{  
    println("Hello", "world")  
}  

Then

go run HelloWorld.go

安装go1.5


按照以上步骤重复一遍

wget https://storage.googleapis.com/golang/go1.5.1.src.tar.gz
tar -zvxf go1.5.1.src.tar.gz
mv go $GOROOT 
...

另:编译安装go程序源代码包


将得到的源代码放置在
$GOPATH/src/YourApplicationName
并运行

go install *YourApplicationName*

参考资料


go项目github
go官方支持文档
go github某issue  

标签: Linux, golang, go, google