文档章节

Ubuntu15.10编译安装Golang1.5

douyur
 douyur
发布于 2017/02/26 20:33
字数 818
阅读 9
收藏 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
422
0
GIScript2016的重要变化

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

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

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

这是个很萌的名字
2016/06/14
393
3
Ubuntu15.10无法安装ap-hotspot的问题

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

Newbie-Linux
2016/01/03
425
2
VirtualBox5.1如何安装增强包?

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

thu_gaoyong
2016/09/09
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nginx防盗链、访问控制、Nginx解析PHP相关配置、Nginx代理

Nginx防盗链 在配置文件里写入以下内容: 用curl测试 访问控制 Nginx限制某些IP不能访问或者只允许某些IP访问。 配置文件写入如下内容: allow 表示允许访问的IP,deny限制访问的IP。 匹配正...

黄昏残影
12分钟前
0
0
自己动手实现RPC服务调用框架

转载 TCP的RPC 引言 本文利用java自带的socket编程实现了一个简单的rpc调用框架,由两个工程组成分别名为battercake-provider(服务提供者)、battercake-consumer(服务调用者)。 设计思路...

雨中漫步的鱼
15分钟前
0
0
Centos6.x安装之后的9件事

Centos6.x安装之后的9件事 这些不是必须都做的,只不过是我个人的习惯,在此记录一下。 1.修改yum源到国内 CentOS系统更换软件安装源 备份你的原镜像文件,以免出错后可以恢复。 mv /etc/yu...

叶云轩
20分钟前
5
0
springboot2 使用jsp NoHandlerFoundException

开发图片上传功能,为验证测试功能是否正常,使用JSP编写表单提交进行测试 开发完成后,请求API提示如下异常: No mapping found for HTTP request with URI [/WEB-INF/jsp/avatar_upload.j...

showlike
26分钟前
0
0
springboot踩坑记--springboot正常启动但访问404

一 spring boot的启动类不能直接放在main(src.java.main)这个包下面,把它放在有包的里面就可以了。 二 正常启动了,但是我写了一个controller ,用的@RestController 注解去配置的controlle...

onedotdot
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部