文档章节

Ubuntu15.10编译安装Golang1.5

douyur
 douyur
发布于 2017/02/26 20:33
字数 818
阅读 8
收藏 0
点赞 0
评论 0

安装思路

  • 编译安装go1.4
  • 将go目录名称改为go1.4
  • 修改.bashrc中的环境变量
  • 编译安装go1.5

注:为了构建 Go 1.x (x ≥ 5),需要先安装 Go 1.4 到 $GOROOT_BOOTSTRAP. 默认的 $GOROOT_BOOTSTRAP$HOME/go1.4. 使用 Go 1.4 作为启动的基础版本来编译工具链。

安装Go语言相关工具

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

解压Go语言源码包

$ tar -zxvf go1.4.2.linux-amd64.tar.gz

注:源码包解压后根目录的名字是 go,后面设置环境变量会用到。

配置Go1.4语言环境变量

环境变量的配置不论是下一步中编译Go语言源码,还是在之后的开发过程中都至关重要

$ vim ~/.bashrc
export GOROOT=$HOME/go
export GOROOT_BOOTSTRAP=$HOME/go
export GOARCH=amd64
export GOOS=linux
export GOBIN=$GOROOT/bin/
export GOTOOLS=$GOROOT/pkg/tool/
export PATH=$GOBIN:$GOTOOLS:$PATH
export GOPATH=$HOME/goPro

$ source ~/.bashrc

注:

  • GOROOT是存放源码包的位置。比如,我这里是放在/home/plusgo/目录下;
  • GOROOT_BOOTSTRAP在1.5编译时使用 Go 1.4 的Go compilers进行构建,则需指定go1.4的路径;
  • GOARCH 与 GOOS 与下载的发行版有关,例如:我下载的是64位的Ubuntu,因此 GOARCH 为 amd64;如果是32位的Ubuntu,则填386;而GOOS 为 linux;
  • GOBIN为GOROOT路径下bin文件夹路径;
  • GOTOOLS路径在编译时会用到;
  • PATH路径很关键,指定GOBIN和GOTOOLS路径;
  • GOPATH为Go的工作目录,可以随时修改;这里,我选择将GOPATH指定到/home/plusgo/goPro路径下;则在$HOME目录下新建一个goPro目录($ mkdir goPro)作为Go的工作目录;

编译Go1.4源码

$ cd $GOROOT/src
$ ./all.bash

稍等一会,等待编译完成后,出现下面的内容,则为编译通过:

ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/plusgo/go
Installed commands in /home/plusgo/go/bin/

修改编译好的go目录

将编译好的go目录改为go1.4目录

$ mv go go1.4

修改.bashrc环境变量

$ vim ~/.bashrc
export GOROOT=$HOME/go
export GOROOT_BOOTSTRAP=$HOME/go1.4
export GOARCH=amd64
export GOOS=linux
export GOBIN=$GOROOT/bin/
export GOTOOLS=$GOROOT/pkg/tool/
export PATH=$GOBIN:$GOTOOLS:$PATH
export GOPATH=$HOME/goPro
 
$ source ~/.bashrc

注:这里将GOROOT_BOOTSTRAP路径指定为已编译好的go1.4目录;

编译Go1.5源码

将下载好的go1.5.1.linux-amd64.tar.gz安装包放到$HOME目录下,并解压,默认为go目录; 进入源码文件夹进行编译:

$ cd $GOROOT/src
$ ./all.bash

稍等一会,等待编译完成后,出现下面的内容,则为编译通过:

ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/plusgo/go
Installed commands in /home/plusgo/go/bin/

接着输入go目录,如果看到如下信息,则即可使用Go语言了:

$ go
Go is a tool for managing Go source code.
Usage:
    go command [arguments]
The commands are:
    build       compile packages and dependencies
    clean       remove object files
    doc         show documentation for package or symbol
    env         print Go environment information
    fix         run go tool fix on packages
    fmt         run gofmt on package sources
    generate    generate Go files by processing source
    get         download and install packages and dependencies
    install     compile and install packages and dependencies
    list        list packages
    run         compile and run Go program
    test        test packages
    tool        run specified go tool
    version     print Go version
    vet         run go tool vet on packages
Use "go help [command]" for more information about a command.
Additional help topics:
    c           calling between Go and C
    buildmode   description of build modes
    filetype    file types
    gopath      GOPATH environment variable
    environment environment variables
    importpath  import path syntax
    packages    description of package lists
    testflag    description of testing flags
    testfunc    description of testing functions
Use "go help [topic]" for more information about that topic.

© 著作权归作者所有

共有 人打赏支持
douyur
粉丝 5
博文 62
码字总数 26478
作品 0
杭州
程序员
golang1.5源码安装说明

golang 1.5的安装说明 由于golang1.5使用了golang来编译自己,所以需要先安装golang1.4,然后使用1.4的go来编译go1.5的源码 源码包官方的下载地址 https://go.googlesource.com/go https://g...

leicc ⋅ 2015/10/17 ⋅ 0

GIScript2016的重要变化

GIScript是一个开源的地理信息处理脚本系统。 GIScript 2016的目录结构进行了调整,因此2016版需要重新编译。 GIScript 2016目前可以支持Windows和Linux,考虑到技术发展的趋势和数据处理的场...

openthings ⋅ 2015/12/07 ⋅ 0

安装faac编译时报错没法解决啊,网上的方案都不行!!来个大神呗!!

在ubuntu15.10虚拟机安装ffmpeg,在安装faac时报错如下在网上看也有这个错,但是按照网上的解决方法都不行,比如注释掉mpeg4ip.h文件里的126行或修改123-129行。求大神帮忙解决啊...

这是个很萌的名字 ⋅ 2016/06/14 ⋅ 3

Ubuntu15.10无法安装ap-hotspot的问题

Lenovo:~$ sudo apt-get install ap-hotspot 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 E: 无法定位软件包 ap-hotspot 求助各位大婶,最近安装啦Ubu...

Newbie-Linux ⋅ 2016/01/03 ⋅ 2

VirtualBox5.1如何安装增强包?

在mac下安装了virtualbox5.1.4 ,然后安装了ubuntu15.10的虚拟机,想要配置 共享文件夹。 实验中发现配置 共享文件夹后 执行mount 命令,类似sudo mount -t vboxsf gongxiang /mnt/shared 这...

thu_gaoyong ⋅ 2016/09/09 ⋅ 0

Linux平台Swift语言开发学习环境搭建

1.序言 这两天一直忙,没来得及记录东西,周三12月4日凌晨1点多看到苹果正式开源了Swift,国外各大媒体资讯动作超级快。我也兴奋的起来看了一遍关于Swift开源的最新消息。众所周知,苹果平台...

大茶园丁 ⋅ 2015/12/07 ⋅ 47

Ubuntu15.10上的Docker Registry问题解决

Docker在Ubuntu15.10上搭建registry时出现问题,总是报TLS错。 1、Ubuntu14.04及之前版本的解决方法 然后,网上搜索的解决办法都是: 修改/etc/default/docker文件,加入: DOCKEROPTS='--in...

openthings ⋅ 2016/04/14 ⋅ 0

压榨$3.99年付VPS的剩余价值

3.99美元一年,具体哪家我就不说了。 配置如下: RAM 128MB、Space 2GB、流量 250G每月,含独立IP一个!说好的西雅图变成了华盛顿哪个村的机房。 这配置还不如我的路由器,不过确实超值!单单...

打雷要下雨LEO ⋅ 2016/03/07 ⋅ 4

安装了sqlalchemy居然没法用

ubuntu15.10; python2.7; sqlalchemy1.0.9 具体问题: ================================= from sqlalchemy import * #这里没报错 db = create_engine(.....) 这里报错,AttributeError: 'mo......

天上有天 ⋅ 2015/12/06 ⋅ 3

ubuntu配置vnc访问

1、系统 ubuntu15.10 2、安装 sudo apt-get install xfce4 vnc4server 安装完成后,终端输入 vncserver 按照提示设置登录VNC的密码,之后会出现一段提示。主要意思是VNCServer产生了一个新桌...

Leyin ⋅ 2017/06/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

思路分析 如何通过反射 给 bean entity 对象 的List 集合属性赋值?

其实 这块 大家 去 看 springmvc 源码 肯定可以找到实现办法。 因为 spirngmvc 的方法 是可以 为 对象 参数里面的 list 属性赋值的。 我也没有看 具体的 mvc 源码实现,我这里只是 写一个 简...

之渊 ⋅ 42分钟前 ⋅ 0

vim使用手册--配对括号的查找

1、把光标放在标记有(、[或{处。 2、按%字符 3、此时光标的位置应当在配对的括号处 4、再次按%就可以跳回配对的第一个括号处。

dragon_tech ⋅ 46分钟前 ⋅ 0

c++ 、object-c printf,%02X和%x有什么区别 ?

%x即按十六进制输出,英文字母小写,右对齐。 %02X有以下变化:英文字母变大写,如果输出字符不足两位的,输出两位宽度,右对齐,空的一位补0。超过两位的,全部输出。 如果不用 %02x 会出现...

yizhichao ⋅ 51分钟前 ⋅ 0

Spring源码解析(七)——实例创建(中)

前言 上一节讲到了,Spring 会根据实例的作用域执行不同的创建逻辑,分别是 Singleton、Prototype、其他 Scope,其中 Singleton 会调用 getSingleton 从缓存中获取,缓存中没有才会创建实例;...

MarvelCode ⋅ 51分钟前 ⋅ 0

Thrift RPC实战(六) spring集成thrift

1.服务端设置 对泛型Thrift Service的支持, 通过采用spring配置以及反射的方式来实现.对于一个服务提供者来说,需要提供端口,接口以及接口实现类,因此在接口中spring配置文件中配置如下 <!...

lemonLove ⋅ 53分钟前 ⋅ 0

oracle11g自动分区使用

为什么使用自动分区? 在oracle11g之前,oracle是不支持自动分区功能的,这就可能导致我们系统在运行一段时间之后,就需要看看分区是否创建或者写触发器进行创建分区,否则就会导致数据无法入...

strict_nerd ⋅ 今天 ⋅ 0

Spring mvc ViewResolver视图解析器实现机制

概要 我们在controller里面经常这样return一个ModelAndView。 return new ModelAndView("userList", "users", userList); DispatcherServlet 靠 ViewResolver 把 userList 解析为 /WEB-INF......

轨迹_ ⋅ 今天 ⋅ 0

策略模式

1.策略模式 策略模式是同一个行为的不同处理办法。策略模式和简单工厂模式的区别:1.策略模式主要是方法的执行方式,工厂模式要获取的对象。两者的侧重点不同。 ...

Cobbage ⋅ 今天 ⋅ 0

行政区划代码转为字典形式

原数据为: http://www.mca.gov.cn/article/sj/xzqh/2018/201804-12/201804-06041553.html 手动替换了一下格式,并使用下面的代码处理. # 输入格式s = """110000:北京市110101:东城区1101...

漫步海边小路 ⋅ 今天 ⋅ 0

android apk 签名

创建key,需要用到keytool.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),把...

国仔饼 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部