zoukankan      html  css  js  c++  java
  • 从源代码构建 Go 开发环境

    从源代码构建 Go 开发环境


    Go 1.5 之前的版本

    安装C 语言开发环境

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

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

    建立 Go 的目录结构

    基本目录是这样的

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

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

    $HOME/golang
    |--3rd
    |--go -> go1.4
    |--go1.4
    |--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.7
    |--go-bootstrap -> go1.4
    |--go1.4
    |--go1.7
    |--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

  • 相关阅读:
    Unity 3(一):简介与示例
    MongoDB以Windows Service运行
    动态SQL中变量赋值
    网站发布IIS后堆栈追踪无法获取出错的行号
    GridView Postback后出错Operation is not valid due to the current state of the object.
    Visual Studio 2010 SP1 在线安装后,找到缓存在本地的临时文件以便下次离线安装
    SQL Server 问题之 排序规则(collation)冲突
    IIS 问题集锦
    linux下安装mysql(ubuntu0.16.04.1)
    apt-get update 系列作用
  • 原文地址:https://www.cnblogs.com/fengbohello/p/5833461.html
Copyright © 2011-2022 走看看