go的源码安装非常简单,只需运行源码包中src/all.bash,等到出现 ALL TESTS PASSED 字样就安装好了,但是在源码安装1.5版本以上的go时会报 ERROR: Cannot find /root/go1.4/bin/go 这个错误,这是由于go 1.5版以后的编译安装需要1.4版本go,所以如果想要通过源码方式安装高版本go,必须先安装好1.4版本的go。

先clone go仓库(https://github.com/golang/go.git),然后checkout 到 1.4 分支,并安装该版本

[root@localhost software]# git clone https://github.com/golang/go.git
Cloning into 'go'...
remote: Counting objects: 322777, done.
remote: Compressing objects: 100% (73/73), done.
remote: Total 322777 (delta 32), reused 54 (delta 28), pack-reused 322675
Receiving objects: 100% (322777/322777), 147.71 MiB | 3.49 MiB/s, done.
Resolving deltas: 100% (255582/255582), done.[root@localhost software]# cd go
[root@localhost go]# git branch
* master
[root@localhost go]# git checkout release-branch.go1.4
Branch release-branch.go1.4 set up to track remote branch release-branch.go1.4 from origin.
Switched to a new branch 'release-branch.go1.4'
[root@localhost go]# git branchmaster
* release-branch.go1.4

运行 src/all.bash 安装脚本,稍等片刻即可安装成功:

[root@localhost go]# cd src/
[root@localhost src]# ls
all.bash          archive  clean.bash  compress   debug     flag  html      io       log        make.rc        net        race.bat  run.bat  strconv    syscall  unicode
all.bat           bufio    clean.bat   container  encoding  fmt   image     lib9     make.bash  math           os         reflect   run.rc   strings    testing  unsafe
all.rc            builtin  clean.rc    crypto     errors    go    index     libbio   make.bat   mime           path       regexp    runtime  sudo.bash  text
androidtest.bash  bytes    cmd         database   expvar    hash  internal  liblink  Make.dist  nacltest.bash  race.bash  run.bash  sort     sync       time
[root@localhost src]# ./all.bash
# Building C bootstrap tool.
cmd/dist# Building compilers and Go bootstrap tool for host, linux/amd64.
lib9
libbio
liblink
cmd/cc
cmd/gc
cmd/6l....# Checking API compatibility.
Skipping cmd/api checksreal 0m0.538s
user    0m0.310s
sys 0m0.191sALL TESTS PASSED---
Installed Go for linux/amd64 in /root/software/go
Installed commands in /root/software/go/bin
*** You need to add /root/software/go/bin to your PATH.

把安装好的go项目复制一份到/root/go1.4:

[root@localhost go]# pwd
/root/software/go
[root@localhost go]# cp -R /root/software/go /root/go1.4
[root@localhost go]# ls /root/go1.4/
api  AUTHORS  bin  CONTRIBUTORS  doc  favicon.ico  include  lib  LICENSE  misc  PATENTS  pkg  README  robots.txt  src  test  VERSION
[root@localhost go]# /root/go1.4/bin/go version
go version go1.4-bootstrap-20170531 linux/amd64

下载你要安装的go版本源码包(这里是 go1.9.2版),再按之前的步骤安装一遍

[root@localhost software]# curl -SL -o go1.9.2.tar.gz  https://github.com/golang/go/archive/go1.9.2.tar.gz% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100 15.6M    0 15.6M    0     0  1166k      0 --:--:--  0:00:13 --:--:-- 2802k
[root@localhost software]# ll go1.9.2.tar.gz
-rw-r--r--. 1 root root 16363003 Nov  7 17:39 go1.9.2.tar.gz
[root@localhost software]# tar zxvf go1.9.2.tar.gz
[root@localhost software]# cd go-go1.9.2/
[root@localhost go-go1.9.2]# ls
api  AUTHORS  CONTRIBUTING.md  CONTRIBUTORS  doc  favicon.ico  lib  LICENSE  misc  PATENTS  README.md  robots.txt  src  test  VERSION
[root@localhost go-go1.9.2]# cd src/
[root@localhost src]# ./all.bash
##### Building Go bootstrap tool.
cmd/dist##### Building Go toolchain using /root/go1.4.
bootstrap/cmd/internal/dwarf
bootstrap/cmd/internal/objabi
bootstrap/cmd/internal/src
.....
ALL TESTS PASSED---
Installed Go for linux/amd64 in /root/software/go-go1.9.2
Installed commands in /root/software/go-go1.9.2/bin
*** You need to add /root/software/go-go1.9.2/bin to your PATH.

看到 ALL TESTS PASSED 说明安装成功

设置几个环境变量:

在 /etc/profile 文件中添加以下几行

export GOROOT=/root/software/go-go1.9.2
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN

然后执行 source /etc/profile 命令

[root@localhost src]# source  /etc/profile[root@localhost src]# env | grep GO
GOBIN=/root/software/go-go1.9.2/bin
GOROOT=/root/software/go-go1.9.2
[root@localhost src]# echo $PATH
/usr/local/luajit/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/software/go-go1.9.2/bin
[root@localhost src]# go version
go version go1.9.2 linux/amd64

Hello go!

package mainimport "fmt"func main(){fmt.Println("Hello go!")
}
[root@localhost go]# go run hellogo.go
Hello go!

That's all^^

源码编译安装go,ERROR: Cannot find /root/go1.4/bin/go相关推荐

  1. mono和monodevelop源码编译安装

    之所以用源码编译的方式安装mono和monodevelop,是因为通过yum安装的mono不是最新版本,而且monodevelop不能建 asp.net MVC3的工程. 而且通过源码安装,可以进一步 ...

  2. Splunk安装和配置及源码编译安装SVN

    Splunk安装和配置 http://my.oschina.net/tuyang/blog/189159 http://my.oschina.net/longniao/blog/82766 http: ...

  3. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础 ...

  4. 详解LAMP源码编译安装

    实战:LAMP源码编译安装 家住海边喜欢浪:zhang789.blog.51cto.com 目录 详解LAMP源码编译安装 LAMP简介 一.准备工作 二.编译安装 Apache 三.编译安装 MyS ...

  5. mysql+PHP源码编译安装

    mysql源码编译安装 环境redhat6.5 安装依赖包: yum install cmake-2.8.12.2-4.el6.x86_64.rpm gcc-c++ ncurses-devel gcc ...

  6. linux下源码安装vim,ubuntu 源码编译安装最新的vim 8.0

    为什么要源码编译安装VIM? 因为我要安装ycm,但是ubuntu14.04仓库vim版本低 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 ...

  7. LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用

    LNMP架构中的Mysql见上一篇博文"LNMP架构环境搭建之mysql源码编译安装" 一.PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文 ...

  8. LNMP架构环境搭建之mysql源码编译安装

    Mysql MySQL是一个开源的数据库,在互联网行业应用的很广泛,下面来记录一下从源码编译安装的步骤,当然,MySQL也有其他安装方式,比如,使用yum下载安装rpm包,或者二进制方式安装,如果机器 ...

  9. mysql5.1编译安装centos7_CentOS7下 Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 源码编译安装

    在CentOS7下 Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 源码编译安装过程记录. 一.安装Nginx 1.安装依赖扩展 # yum -y install wget ...

最新文章

  1. 从零开始单排学设计模式「UML类图」定级赛 1
  2. 大学计算机基础B这本书哪有,大学计算机基础b试卷
  3. iOS隐藏键盘的几种方式
  4. Docker两个问题的讨论
  5. 转-聚合查询变慢-详解Elasticsearch的Global Ordinals与High Cardinality
  6. c++邮递员投递经过特定点_厉害了斑马鱼,动物实验体天团C位
  7. 蓝桥杯 算法训练(四)结点选择(树形动态规划)
  8. MQTT 遗嘱消息(Will Message)的使用
  9. 学习easyui疑惑(四)
  10. 吴恩达机器学习【第一天】
  11. 是时候让 JavaScript 面向对象了!
  12. 干货 | 大公司机器学习算法的面试经验
  13. 佐客牛排机器人餐厅_3分钟出餐!全球首家机器人餐厅开业
  14. 计算机接口论文摘要,计算机接口技术论文
  15. Python-OpenCV双目测距代码实现以及参数解读
  16. 基于WxPython的批量图片缩放工具
  17. PCM开发板模块实验指导--2.4G无线通讯模块NRF24L01实验
  18. 超声波传感器(CHx01) 学习笔记 Ⅴ- 参数配置
  19. 关于Excel自定义TEXTJOIN函数、SWITCH函数
  20. 代理ip的使用场景。

热门文章

  1. Public Key Retrieval is not allowed解决
  2. Leetcode-标签为Tree 226. Invert Binary Tree
  3. 《当当网2017首页》
  4. Axure原型:外卖订餐平台原型(APP、小程序)
  5. 职业解读 | 如何成为一名SQL开发人员
  6. 轻松的玩转Docker的15个小技巧
  7. 如何从实验室菜鸟如何蜕变成实验巨人?
  8. 使用ffmpeg制作时光影集
  9. 英语单词常见前后缀总结
  10. golang 捕获 C/C++ 错误并做善后处理