这两天公司成立了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. mvc企业微信开发全局配置

    protected void RegisterSenparcWork()     {         var isGLobalDebug = false;//设置全局 Debug 状态         ...

  2. Hadoop的伪分布式的安装

    查看下载地址:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.4.0-src.tar.gz 解压hadoop-2.6.0-cdh5.4 ...

  3. io详解

    1.io类

  4. golang测试

    简述 Go语言中自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试. go test [-c] [-i] [build flags] [packages] [f ...

  5. Dockerfile(从无到有创建镜像)

    本文原始地址:https://sitoi.cn/posts/43818.html 结构 DockerFile分为四部分组成: 基础镜像信息 维护者信息 镜像操作指令 容器启动时执行指令 基础镜像信息 ...

  6. Python 函数返回值类型

    [ i for i in dir(set) if not i.startswith('_') ]   

  7. go语言每个工程是不是都要单独设置GOPATH?

      go语言每个工程是不是都要单独设置GOPATH?比如我的go项目都统一管理在d:/workspace/go_work/目录下面,该目录下有3个项目project_01,project_02,pro ...

  8. 算法 翻转二叉树 dfs

    翻转二叉树 翻转一棵二叉树.左右子树交换. Example 样例 1: 输入: {1,3,#} 输出: {1,#,3} 解释: 1 1 / => \ 3 3 样例 2: 输入: {1,2,3,# ...

  9. Win10系统如何关闭自动更新?

    现在很多电脑的系统都升级到了win10了,win10已经渐渐普及到每个人的电脑中,但是,win10系统有一个功能特别讨人厌,我自认为挺讨厌这个功能的,它就是“自动更新”功能,你可能会说,自动更新不是挺 ...

  10. Nginx——跨域造成的504问题

    前言 前台域名和后台域名是两个不同不同的二级域名,访问的时候造成了跨域,出现了504错误 解决 修改Nginx配置,将超时的时间设置为1200秒 keepalive_timeout 1200; pro ...