Ubuntu 12.04 64bit 安装 Go 语言
安装C语言工具
sudo apt-get install bison ed gawk gcc libc6-dev make安装Mercurial
sudo apt-get install python-setuptools python-dev build-essentialsudo apt-get install mercurial
获取Go lang代码
$ hg clone -r release https://go.googlecode.com/hg/ go
备注:这个Go 语言源文件可能不是最新的,可以直接到 https://github.com/golang/go 下载最新的源文件,再安装。比如现在最新的源码是:https://codeload.github.com/golang/go/zip/master
可以执行 wget https://codeload.github.com/golang/go/zip/master
安装Go
cd go/srcsudo ./all.bash
安装成功的话会提示:
# Checking API compatibility.
Go version is "go1.0.3", ignoring -next /home/calvin/go/api/next.txt
ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/calvin/go
Installed commands in /home/calvin/go/bin
*** You need to add /home/calvin/go/bin to your PATH.
添加ubuntu环境变量
sudo vim ~/.bashrc
输入一下内容:
export GOROOT=$HOME/go
export GOBIN=$GOROOT/bin
export GOPKG=$GOROOT/pkg/tool/linux_amd64
export GOARCH=amd64
export GOOS=linux
export PATH=.:$PATH:$GOBIN:$GOPKG
我按官方的安装说明来装,官方没有加这个变量,在我的ubuntu上提示没有6g,6l等等命令,因此添加
export GOPKG=$GOROOT/pkg/tool/linux_amd64
到.bashrc中。
6g是针对amd64指令的编译器,它的输出文件为 file.6。其中 ‘6’ 表示文件是 amd64指令的输出文件。 如果是386和arm 处理器,后缀则为 ‘8’ 和 ‘5’。 也就是说,如果你用的是386处理器,那么应该用8g命令编译, 输出的文件为file.8。
测试Go程序
mkdir go-test && cd ./go-test
go version
go version go1.0.3
6g -V
6g version go1.0.3
cat >hello.go <<EOF
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
6g hello.go
6l hello.6
./6.out
hello, world
另外:如果要升级 Go 语言
升级go
cd ~/go/src
hg pull
hg update release
sudo ./all.bash
go环境变量说明
Go编译器需要三个必须的环境变量和一个可选的环境变量。环境变量在.bashrc 或其他配置文件中设置。
$GOROOT
Go安装包的根目录。通常是放在$HOME/go,当然也可以是其他位置。
$GOOS and 和 $GOARCH
这两个环境变量表示目标代码的操作系统和CPU类型。
$GOOS选项有linux、 freebsd、darwin (Mac OS X 10.5 or 10.6)和 nacl (Chrome的Native Client接口,还未完成)。
$GOARCH的 选项有amd64 (64-bit x86,目前最成熟)、386 (32-bit x86)、 和arm (32-bit ARM,还未完成)。
下面是$GOOS和 $GOARCH的可能组合:
$GOOS $GOARCH
darwin 386
darwin amd64
freebsd 386
freebsd amd64
linux 386
linux amd64
linux arm
nacl 386
$GOBIN (optional) (可选)
指明用于存放go的二进制程序目录。如果是没设置$GOBIN环境变量, 则默认是安装在$HOME/bin。如果设置了该变量,需要确保$PATH 变量也包含这个路径,这样编译器可以找到正确的执行文件。
$GOARM (optional, arm, default=6)
需要说明的是$GOARCH和$GOOS环境变量表示的是目标代码 运行环境,和当前使用的平台是无关的。这个对于交叉编译是很方便的。
在.bashrc文件中设置以下环境变量:
export GOROOT=$HOME/go
export GOARCH=amd64
export GOOS=linux
export PATH=.:$PATH:$GOBIN
检查是否能正常使用:
source ~/.bashrc
cd ~
6g -V
Ubuntu环境变量
在Ubuntu中有如下几个文件可以设置环境变量
1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。
3、~/.bash_profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变游戏量,执行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
4、~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
几个环境变量的优先级 1>2>3
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。