以ubuntu wiki的 安装教程 为例:
- 安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的
$ sudo apt-get install bison gawk gcc libc6-dev make
- 安装mercurial工具,目的使用hg命令来提取golang的源代码
$ sudo apt-get install mercurial
- 代取提取,如果您的网速比较慢的话,此步要多花点时间
$ hg clone -r release https://go.googlecode.com/hg/ go
解压后进入目录,编译golang
$ cd go/src
$ ./all.bash
本来该是一切顺利的,可是在我这儿在 Checking API Compatibility 时就卡在那儿了。研究了下 run.bash 究竟做了什么,原来
试图使用之前安装的hg工具也就是mercurial做了版本检测。。。好吧,只能删了他了。。。
$ sudo apt-get remove mercuial
之后都是在本机操作,不会有什么问题了。
如果出现一下信息,表示安装成功
ALL TESTS PASSED --- Installed Go for linux/amd64 in /home/you/go. Installed commands in /home/you/go/bin. *** You need to add /home/you/go/bin to your $PATH. *** The compiler is 6g.
$GOBIN golang的bin目录,这里是~/go/bin 下面是一个配置例子:请大家特别注意$GOOS 和 $GOARCH 的配置
$ vim ~/.bashrc
然后加入
export GOROOT=~/go export GOARCH=386/amd64 export GOOS=linux export GOBIN=$GOROOT/bin/ export GOTOOLS=$GOROOT/pkg/tool/linux_amd64/ export PATH=$PATH:$GOBIN:$GOTOOLS
source ~/.bashrc
- 新建一个hello.go,并写入以下内容:
package main import "fmt" func main() { fmt.Printf("hello, world\n") }
- 使用golang官网编译器('注意:'6g是amd64的go编译器,它生成的是.6文件。而386一般使用8g命令,它生成的一般是.8格式的文件。当然还有一个5g的命令是用于arm的cpu,同理amd64用6l,386用8l,arm用5l的链接器!)
$ 6g hello.go $ 6l hello.6 $ ./6.out hello, world
有疑问加站长微信联系(非本文作者)