在ubuntu上搭建go编程环境(附带自动化部署脚本)

来源:互联网 发布:relief算法原理 编辑:程序博客网 时间:2024/05/19 18:42

自2009年Go语言发布以来,我一直在关注Go语言,如今Go语言已经发展到1.2版本,而且也收到越来越多的人关注这门语言。Go语言设计的目的就是为了解决执行数度快但是编译数度并不理想(如C++)以及编译速度快但执行效率不佳(.NET、Java),或者开发难度低但执行速度一般的动态语言这一问题。所以说,Go语言的特点是:快速编译,高效执行,易于开发。

好了,跳过那些框框条条的craps, 让我们直接先从Go语言的环境搭建开始,由于最近偏爱Ubuntu,在加上作为一门开源语言,在Linux上从源代码开始搭建环境更让人觉得有趣味性。

当然,如果你需要快速的搭建环境,也可以直接参考官方文档:http://golang.org/doc/install.html。考虑到官方文档已经十分详细,这里我就不再一一阐述了。

1. 设置Go环境变量

打开终端,输入命令:

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

当然,你需要设置项目的目录

export GOPATH=$HOME/Applications/Go

2. 安装C工具

由于Go的工具链是用C语言编写的, 因此在安装Go之前序言安装相关的C工具。执行一下命令:

sudo apt-get install bison ed gawk gcc libc6-dev make

3. 安装Mercurial

由于Go的源码是通过Mercurial进行管理的, 所以需要先安装Mercurial来实现Go源码的获取,一次执行一下命令:

sudo apt-get install python-setuptoolssudo apt-get install pythone-devsudo apt-get install build-essentialsudo apt-get install mercurial

4. 获取Go源代码

hg clone -r release https://go.googlecode.com/hg/ $GOROOT

5. 构建Go

在终端中执行一下命令来构建Go

cd $GOROOT/src

./all.bash

编译完成后会自动测试,但是在测试net/http时会链接google.com, 在国内环境稍微有一点不稳定(第一次编译成功挂掉了...),所以建议是增加一条环境变量

export DISABLE_NET_TESTS=1 

来跳过net的测试.

总结:以上步骤可以通过运行以下脚本来执行:

#!/bin/bash            #set envif [ "`grep "export GOROOT=/usr/local/go" /etc/profile`" = "" ]; then    echo "export GOROOT=/usr/local/go" >> /etc/profilefi if [ "`grep "export PATH=$GOROOT/BIN:$PATH" /etc/profile`" = "" ]; then    echo "export PATH=$GOROOT/bin:$PATH" >> /etc/profilefi#install csudo apt-get install -y bison ed gawk gcc libc6-dev make #install mercuialsudo apt-get install -y python-setuptools python-dev build-essential mercuial #get code of gohg clone  -r release https://go.googlecode.com/hg/ $GOROOT #compile gocd $GOROOT/src./all.bashexit 0

6. 测试安装

完成安装后,新建一个文档来测试环境是否搭建成功:

Example helloWorld.go

复制代码
 1 package main 2  3 import ( 4     "fmt" 5     "runtime" 6 ) 7  8 func main() { 9     fmt.Println("Hellow World!", runtime.Version())10 }
复制代码

执行go run helloWorld.go, 应该会打印出:

Hellow World! go1.2
0 0
原创粉丝点击