ubuntu 14.10 编译安装 Golang

 以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


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。