这两天公司成立了go语言学习兴趣小组,慕名参与了学习。目前对于go是0基础,只知道它可以做高并发、效率快、编译简单、母语是C. go的安装有多种形式,编译安装是比较慢的一个,今天我就记录一下学习go编译安装流程。

  1、下载软件包 https://studygolang.com/dl

    go1.12.7.darwin-amd64.tar.gz

  2、解压到/opt/local/etc/位置 我习惯用统一的位置安装软件

    tar -C /opt/local/etc/ -xzf go1.12.7.darwin-amd64.tar.gz

  3、cd go/scr

  4、官方文档上写的到这一步就执行安装 ./all.bash  这个时候会报错的哟

ERROR: Cannot find /Users/admin/go1./bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.

  这是说明,安装go 1.5以上的包需要基于go1.4 的依赖。为什么我也不知道。它好像在找这个目录的go  /Users/admin/go1.4/bin/go. 可惜没有呀。

  网上看了其他案例,它们找的地址不同,大多数是找 /root/go1.4/bin/go 找不到。应该是根据每个人的安装目录有关系。这边继续解决安装go1.4

  5、下载go1.4的代码(只有通过git 克隆最新的代码,切换到1.4版本中去)

sudo git clone https://github.com/golang/go.git

  注意:但是下载git的这个流程真的非常熬时间。建议果断放弃继续往下走,改变一下自己host吧。

  vi /etc/host   加入如下信息,保存退出

192.30.253.112 github.com
151.101.44.249 github.global.ssl.fastly.net

  最后在更新DNS缓存  sudo dscacheutil -flushcache  

  6、经过很长一段时间,代码就会下载完成。这个时候需要 git branch 当前分支是master.

    切换到go1.4版本中去

git checkout release-branch.go1.4

  7、开始编译安装go1.4

    cd go/src

    ./all.bash

    即可执行完成。我这边当时报了一个错,没记录。我的解决方案是执行如下命令即可继续安装。

     export GO14TESTS=1

  8、这个时候将我的go1.4 放到我需要的位置 上文提到了咯,放到 /Users/admin/go1.4 即可。

  9、这个时候重新执行go1.12.7版本

    cd go/src

    ./all.bash

    到此安装成功!

  10、最后一步环境变量

    将 /Users/admin/go1.4/bin  和 我 opt/local/ext/go/bin 放到环境变量中去

     vi ~/.bash_profile

    

export GOPATH="/study/go"
export GOBIN=$GOPATH
export PATH="$PATH:/opt/local/etc/go/bin:/Users/admin/go1.4:$GOPATH/bin:$GOPATH/pkg:$GOBIN"

    保存退出,重启即可

    source ~/.bash_profile

  

  11、test

    

 admin@admindeMBP  /opt/local/etc/go  go version
go version go1.12.7 darwin/amd64

  12、查看go 配置

    go env

    

   

go语言Mac下编译安装语言包的更多相关文章

  1. mac下编译安装grafana 4.2.0

    go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...

  2. Mac 下编译安装 php-5.6

    1.安装 PHP 1.1 下载源码包 http://php.net/get/php-5.6.35.tar.bz2/from/a/mirror 1.2 编译&安装 ./configure --p ...

  3. CentOS下编译安装python包管理安装工具pip教程

    ubuntu 安装pip 代码如下: apt-get install python-pip 安装requests, pip install requests 对于centos的,直接 yum inst ...

  4. mac下编译安装grafana

    下载grafana源码 从grafana git 仓库下载指定的分支. 编译后端 我下载的时候,grafana的最新release是7.3.7,其需要安装go 1.15版本 生成可执行文件 进入项目根 ...

  5. Mac OSX下编译安装PostgreSQL

    原先使用的是官方提供的安装包,可是安装包会创建postgre这个用户.在登陆界面看的有点不爽,搜索了半天居然没有找到怎样在osx下编译安装的教程,并且假设是依照官方文档的编译安装办法一定会让你崩溃,本 ...

  6. ubuntu15.10下编译安装wine1.8 rc4

    ubuntu15.10下编译安装wine1.8rc4 Wine (“Wine Is Not an Emulator” 的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Li ...

  7. Mac下删除安装的pkg

        Mac下的安装和删除都比windows更加简单清晰,这点在dmg方式下非常明显,但很多时候我们会使用pkg来进行安装,这样的安装想删除就有点麻烦了. 比如,我安装了Golang这个pkg用于g ...

  8. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

  9. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

随机推荐

  1. asp.net 自定义特性

    今天看张子阳的.net中的反射(反射特性)一文,觉得反射配合自定义的特性确实还挺有用,之前看书.看博客之后好多心血来潮敲的代码随便往桌面上一放,时间一久,连自己也分不清它们是干嘛的了,然后就是删除,虽 ...

  2. 基于JPA的分页/排序实现

    Page<ClassOrder> findByMember_MemberID(long id, Pageable pageable); Controller代码: public Model ...

  3. Java 数组(一)定义与访问

    一.数组 1.容器概述    容器:是将多个数据存储到一起,每个数据称为该容器的元素. 2.数组概述  数组:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致. 数组特点: (1)数组是一 ...

  4. 腕表wacche英语wacche手表

    watch As a noun, from Middle English wacche, Etymology As a noun, from Middle English wacche,See bel ...

  5. Android源码分析(七)-----如何解决java编译版本问题

    一 : 问题描述 Your version is: java version "1.6.0_31" Java(TM) SE Runtime Environment (build 1 ...

  6. Pandas 之 描述性统计案例

    认识 jupyter地址: https://nbviewer.jupyter.org/github/chenjieyouge/jupyter_share/blob/master/share/panda ...

  7. Excel 批量导入Mysql(创建表-追加数据)

    之前弄数据库的时候, 测试excel导mysql, 中间用pandas 处理后再入库.  直接上代码, 此种有真意, 尽在不言中. #!/usr/bin/env python # coding: ut ...

  8. python的异常种类

    AttributeError 访问一个对象没有的属性 比如:foo.x 但是foo没有x属性 IOError 输入/输出异常 基本是无法打开文件 ImportError 无法映入模块或包 路径或者名称 ...

  9. 【前端_js】Bootstrap之表单验证

    Bootstrap表单验证插件bootstrapValidator使用方法整理 BootstrapValidator 表单验证超详细教程    

  10. 尾递归 递归函数中,递归调用是整个函数体中最后的语句,且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归,空间复杂度是O(1)

    什么是递归深度 递归深度就是递归函数在内存中,同时存在的最大次数. 例如下面这段求阶乘的代码: Java: int factorial(int n) { if (n == 1) { return 1; ...