文档章节

Ubuntu 12.04.2 x64 安装go语言

淡水鱼
 淡水鱼
发布于 2013/04/10 22:59
字数 1030
阅读 3183
收藏 14

安装C语言工具 

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

安装Mercurial 

sudo apt-get install python-setuptools python-dev build-essential
sudo apt-get install mercurial

获取Go lang代码 

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

安装Go

cd go/src
sudo ./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

注:如果  6g -V 提示 6g:未找到命令 那就是因为go的 tools没有加入系统环境变量。

我按官方的安装说明来装,官方没有加这个变量,在我的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")
}
EOF

6g hello.go
6l hello.6
./6.out
hello, world

截屏:


另外:如果要升级Go lang

升级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

参考链接:

http://golang.org/install.html


© 著作权归作者所有

淡水鱼

淡水鱼

粉丝 12
博文 12
码字总数 5378
作品 0
广州
产品经理
私信 提问
加载中

评论(1)

itfanr
itfanr
感谢~~~~~~~~~~
VMware虚拟机中Ubuntu共享目录插件open-vm-dkms相关问题

虚拟机中的Ubuntu要想能共享Windows主机的文件夹,除了配置VMware以外(方法详见http://blog.sina.com.cn/s/blog453b9efb01019hpl.html),还要安装open-vm-dkms插件,执行sudo apt-get install ...

u010964305
2018/03/21
0
0
Rserve的R语言客户端RSclient

R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已...

zh119893
2014/05/04
731
1
ekho 无法发声问题

@黄冠能 你好,想跟你请教个问题:我的系统是ubuntu 12.04.2 编译安装OK,但使用 'ekho 123' 提示错误: Fail to open file /zh_list at 876 Fail to load espeak dictionary: /zh_list Fail......

羊驼君
2013/08/30
1K
1
Oz 0.10.0 发布,镜像自动安装工具

Oz 是一个自动安装客户操作系统的工具,只需要用户进行最低限度的输入。Oz 对创建虚拟机磁盘镜像非常有用,镜像包括操作系统,可选程序等。 Oz 0.10.0 发布,此版本更新内容如下: 支持安装 ...

oschina
2014/01/05
1K
1
Tomcat7安装配置 for Ubuntu

一、环境说明: 操作系统:Ubuntu 12.04.2 LTS Tomcat:apache-tomcat-7.0.52 二、下载 下载地址:http://tomcat.apache.org/ 这里下载的是 apache-tomcat-7.0.52.tar.gz。 三、安装配置 我这...

小米米儿小
2014/03/07
6.6K
3

没有更多内容

加载失败,请刷新页面

加载更多

灵光一闪来个科普贴:Linux文件系统

在计算机系统中,各种需要保存的信息都是以文件的形式存在的。文件管理是对系统信息资源的管理,是操作系统的一项重要功能。 1.文件与文件系统: 1.1文件: 文件是具有名字的一组相关信息的有...

Linux就该这么学
3分钟前
1
0
ExtJS 4.2 评分组件

本文转载于:专业的前端网站➸ExtJS 4.2 评分组件 上一文章是扩展ExtJS自带的Date组件。在这里将创建一个评分组件。 目录 1. 介绍 2. 示例 3. 资源下载 1. 介绍 代码参考的是 Sencha Touch 2...

前端老手
6分钟前
2
0
如何为视频添加封面?

一个好的视频封面可以吸引观众的眼球,从而起到事半功倍的宣传效果,但是很多小伙伴并不知道怎么给视频添加封面。下面分享一个制作封面否方法,操作起来也比较简单的,有兴趣的小伙伴请接着往...

白米稀饭2019
16分钟前
2
0
如何使用soapUI模拟webservice客户端发送请求

参考资料 https://jingyan.baidu.com/article/cbcede0712849a02f40b4d88.html 左边是请求参数,可以自己填写!按着那个绿色三角箭头可以模拟发送请求,右边是返回的报文 soapui如何发送xml格...

故久呵呵
46分钟前
5
0
Java Security 介绍

1.介绍 Java平台设计的重点是安全性。在其核心,java语言本身是类型安全的并且提供了垃圾自动回收,这使其增加了应用程序代码的健壮性。安全的类加载以及验证机制确保了只有合法的代码才能够...

lixiaobao
52分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部