在CentOS 7上源碼編譯Golang 1.7

準(zhǔn)備工作

  • 一個(gè)“干凈”的系統(tǒng)是必須的,本次操作在阿里云上完成。
[root@snails ~]# hostnamectl set-hostname  snails
[root@snails ~]# hostnamectl
Static hostname: snails
Icon name: computer-vm
Chassis: vm
Machine ID: 7d26c16f116042a684ea498c9e2c240f
Boot ID: e567275688e84ce3b72a11794dc8ac9b
Virtualization: xen
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-327.el7.x86_64
Architecture: x86-64

實(shí)踐過程

配置yum源

CentOS 7配置

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

安裝git、gcc、vim

yum -y install git gcc vim
[root@snails ~]# git --version
git version 1.8.3.1
[root@snails src]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)
Copyright ? 2015 Free Software Foundation, Inc.
本程序是自由軟件;請參看源代碼的版權(quán)聲明。本軟件沒有任何擔(dān)保;
包括沒有適銷性和某一專用目的下的適用性擔(dān)保。

下載go 1.4分支

[root@snails ~]#git clone -b release-branch.go1.4  https://github.com/golang/go.git go

編譯并配置環(huán)境變量

  • 編譯
[root@snails ~]#cd go/src
[root@snails ~]#./all.bash
ALL TESTS PASSED
Installed Go for linux/amd64 in /root/go
Installed commands in /root/go/bin
*** You need to add /root/go/bin to your PATH.
  • 配置環(huán)境變量
[root@snails ~]#cd ~ && mkdir -p golang/{src,pkg,bin}
[root@snails ~]#vi /etc/profile
export GOPATH=$HOME/golang
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
[root@snails ~]# source /etc/profile
[root@snails ~]# go version
go version go1.4.3 linux/amd64

更新go版本再次編譯

  • 更新go版本
[root@snails ~]# mv go go-bootstrap
[root@snails ~]# git clone https://github.com/golang/go.git
[root@snails ~]# cd go
  • 再次編譯
[root@snails go]# vi /etc/profile
export GOROOT_BOOTSTRAP=$HOME/go-bootstrap
[root@snails go]# source /etc/profile
[root@snails go]# cd src/
[root@snails src]# ./clean.bash(可選)
[root@snails src]# ./all.bash

./clean.bash 是針對多次編譯的情況下,先清除上一次編譯結(jié)果。比如由1.7編譯后,再升級到1.7.1版本;默認(rèn)情況下可以不用。

實(shí)踐驗(yàn)證

[root@snails src]# go version
go version devel +d872201 Thu Jul 7 04:06:52 2016 +0000 linux/amd64
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容