从源代码构建 Go 开发环境


Go 1.5 之前的版本

安装C 语言开发环境

在Go 1.5 之前的版本(比如 1.3、1.4),都会部分的依赖 C 语言的工具链,所以如果你有C 语言的开发环境,就可以直接构建 Go 的开发环境了。如果没有 C 语言的开发环境,那就先安装C 语言的开发环境。

#我的目标机器是centos
yum install gcc

建立 Go 的目录结构

基本目录是这样的

$HOME/golang
|--3rd
|--go
|--own

因为我们还要安装 Go 1.5 之后的版本,需要向后兼容,所以我们需要把目录进行一下修改。添加版本目录。并且把go 指向我们当前使用的Go 版本目录。修改后的目录结构如下:

$HOME/golang
|--3rd
|--go -> go1.
|--go1.
|--own

此时的 go 目录是软链接,指向 go1.4。我是使用下载好的 Go 源码进行安装的,所以首先把源码解压为go1.4目录。

环境变量

GOPATH=$HOME/golang/3rdpkg:$HOME/golang/go:$HOME/golang/own

按照这样的配置,当使用 go get 获取 Go 包的时候,会首先导入到 $GOPATH 的第一个路径,也就是 3rdpkg 目录下。便于把第三方包和自己的项目区分开来。

设置 GOROOT

GOROOT=$HOME/golang/go

设置 PATH 变量

PATH=$PATH:$GOROOT/bin/

此时完整的环境变量设置为

GOPATH=$HOME/golang/3rdpkg:$HOME/golang/go:$HOME/golang/own
GOROOT=$HOME/golang/go
PATH=$PATH:$GOROOT/bin

安装 Go 1.4

cd $HOME/golang/go/src
./all.bash

执行完成之后,Go 1.4 就部署完成了。


Go 1.5 之后的版本

在 Go 1.5 以及之后的版本都移除了对 C 语言的依赖,而是使用 Go 编译新的Go 语言版本。所以我们的目录结构需要再做一下更改,让 Go 1.4来帮助我们构建新的Go 环境。

因为我们的目标是Go 1.5之后的版本,所以1.6 、1.7都是适用的,结下来我们编译最新的Go 1.7 环境。那我们的目录结构就是下面的样子了:

$HOME/golang
|--3rd
|--go -> go1.
|--go-bootstrap -> go1.
|--go1.
|--go1.
|--own

环境变量也做相应的修改

GOPATH=$HOME/golang/3rdpkg:$HOME/golang/go:$HOME/golang/own
GOROOT=$HOME/golang/go
PATH=$PATH:$GOROOT/bin
GOROOT_BOOTSTRAP=$HOME/golang/go-bootstrap cd $HOME/golang/go/src
./all.bash

参考 这里


同步发表:http://www.fengbohello.top/blog/p/golang

从源代码构建 Go 开发环境的更多相关文章

  1. Python黑帽编程1.2 基于VS Code构建Python开发环境

    Python黑帽编程1.2  基于VS Code构建Python开发环境 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Atta ...

  2. 使用Intellij IDEA构建spark开发环境

    近期开始研究学习spark,开发环境有多种,由于习惯使用STS的maven项目,但是按照许多资料的方法尝试以后并没有成功,也可能是我环境问题:也可以是用scala中自带的eclipse,但是不太习惯, ...

  3. Vagrant 构建 Linux 开发环境

    Vagrant 是一个简单易用的部署工具,用英文说应该是 Orchestration Tool .它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境, Vagrant 基于 Ruby 开 ...

  4. gulp + gulp-better-rollup + rollup 构建 ES6 开发环境

    gulp + gulp-better-rollup + rollup 构建 ES6 开发环境 关于 Gulp 就不过多啰嗦了.常用的 js 模块打包工具主要有 webpack.rollup 和 bro ...

  5. 使用create-react-app 快速构建 React 开发环境以及react-router 4.x路由配置

    create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境. create-react-app 自动创建的项目是基于 Webpack + E ...

  6. react学习笔记(一)用create-react-app构建 React 开发环境

    React 可以高效.灵活的用来构建用户界面框架,react利用高效的算法最小化重绘DOM. create-react-app 是来自于 Facebook,通过该命令不需配置就能快速构建 React ...

  7. JDK1.7+eclipse 4.4(luna)+pydev4.4.5构建django开发环境

    最近一直用pycharm搞django学习,但是到2017年随着版本的不断更新,启动之慢,吃资源吃内存越来越严重.果然想找一个IDE替代品. 之前用java开发分布式WEB应用,用eclipse开了N ...

  8. 【React】使用 create-react-app 快速构建 React 开发环境

    create-react-app 是来自于 Facebook,通过该命令我们无需配置就能快速构建 React 开发环境. create-react-app 自动创建的项目是基于 Webpack + E ...

  9. XamarinForms教程构建XamarinForms开发环境

    构建XamarinForms开发环境 所谓Xamarin.Forms的开发环境,就是指在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE.对于任何的程 ...

随机推荐

  1. QMF滤波器组 理论

    QMF滤波器组  经常被用来子带信号分解,降低信号带宽,使各个子带可顺利由通道处理.    2^M个通道,等宽 QMF   正交镜像滤波器 正交滤波器 A(W)  与  A(W+pi)  之间的关系 ...

  2. 使用visual studio 调试android 程序 ,真机调试

    1 使用visual studio 2015 新建 blank android APP , 2 安卓手机调整到开发者模式 3 通过USB链接到PC 4 自动检测 设备(这一步貌似没有立即检测到真机设备 ...

  3. JavaBean的用法

    JavaBean是一个可重复使用的软件组件,是用Java语言编写的.遵循一定标准的类. JavaBean是Java Web的重要组件,它封装了数据和操作的功能类,供JSP和Servlet调用,完成数据 ...

  4. Rails 5 开发进阶

    Rails 5 开发进阶:https://www.gitbook.com/book/kelby/rails-beginner-s-guide/details   cancan : http://blo ...

  5. curses.h的安装和使用

    gcc test.c -o test 用以上命令编译包含curses.h头文件的程序时会出现各种引用未定义的错误,并且已经安装了 kernel-devel ncurese-devel ncurese- ...

  6. DOS批处理命令

    1.echo的用法(echo /? --查看帮助) echo off/on  打开关闭回显功能(@echo off 关闭回显并且不需要回显 echo 命令) echo,   显示空行(也可以是; . ...

  7. sh7.创建yum源脚本练习

    练习1, 写一个脚本分别计算1-100,之间奇数和偶数之和 ji_sum.sh #!/bin/bash # let ..};do ] -eq ];then let sum+=I fi done ech ...

  8. sh3.useradd 添加用户脚本

    1.写一个脚本: 添加10个用户user1到user10,密码同用户名,但要求只有用户不存在的情况下才能添加 #/bin/bash # ..};do if id user$i &> /d ...

  9. tp基础,文件存储路径

    tp框架的几点注意事项: 1.tp框架结构MVC模式2.MVC模式最终访问的是方法,不是具体 页面3.控制器用驼峰法命名4.约定胜于配置 index.php:入口文件 Application:应用程序 ...

  10. git 安装教程

    昆,简单说下安装教程1,安装Git2,安装TortoiseGit3,打开第一步安装的git工具GIT BASH