Golang 源码编译安装 CentOS 7 note
1. Prefix
需要下载的文件: Download
- go1.12.src.tar.gz
- go1.4.3.src.tar.gz
- gcc glibc-devel
go1.4以上版本安装 依赖 go1.4 需要先编译安装go1.4, 否则会报错 (这个设定 很奇怪 不过 never mind just do it)
报错提示信息如下:1
2
3Building Go cmd/dist using /root/go1.4.
ERROR: Cannot find /root/go1.4/bin/go.
Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.安装 gcc 用于编译 go 1.4
1
yum install -y gcc glibc-devel
2. Install go1.4.3.src.tar.gz
2.1 安装 go1.4.3
1 | mkdir /root/go1.4 |
2.2 install error
1 | --- FAIL: TestParseInLocation (0.00s) |
这两个错误其实是测试文件的报错 与工程编译基本没什么关系 也不太影响 可以跳过 怎么跳过 请看下面
TestParseInLocation 错误
这个错误是因为:
1
2
3The tzdata 2017a update (2017-02-28) changed the abbreviation of the
Asia/Baghdad time zone (used in TestParseInLocation) from 'AST' to the
numeric '+03'.请参考
Red Hat Enterprise Linux Timezone Data
的声明:解决
这是
src/time/format_test.go
文件 202 行的报错
(不同1.4 go 的版本 行数可能不一样 请根据 函数TestParseInLocation
查找)这个 golang github 源码提过的一个 issue 已经解决的
gopherbot
comment 了修改 issue 的 链接 我就是从那里截图过来的 如果访问不到这个链接 按照截图改就行
TestLoadFixed 错误
错误原因
1
2The tzdata 2017a update (2016-09-18) changed the time zone abbreviation from a long English-language string
(such as: "GMT+1") to "-01".请参考
Red Hat Enterprise Linux Timezone Data
的声明 :Fix
这是
src/time/time_test.go
文件 929 行的报错issue 修改 链接 如果访问不到这个链接 按照截图改就行
2.3 install success
安装成功提示
1
2
3
4
5
6ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/you/go.
Installed commands in /root/go1.4/bin.
*** You need to add /home/go1.4/bin to your $PATH. ***看到这个安装成功的提示以后 设置一下
go1.4
的环境变量(待会儿再把它改回go1.12
)1
2
3echo "export PATH=$PATH:/root/go1.4/bin" >> /etc/profile
echo "export GOROOT=/root/go1.4" >> /etc/profile
source /etc/profile运行
go version
查看版本号1
go version go1.4.3 linux/amd64
3. Install go1.12.src.tar.gz
安装 go1.12
1
2
3
4mkdir /root/go1.12
tar -xvf go1.12.src.tar.gz -C /root/go1.12
cd /root/go1.12/src
./all.bash安装成功以后 清掉原来
go1.4
的环境变量 添加如下环境变量1
2
3
4export PATH=$PATH:/root/go1.12/bin
export GOROOT=/root/go1.12
export GOPATH=/root/go1.12/go-projects
source /etc/profile运行
go version
查看版本号1
go version go1.12 linux/amd64
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Zepung🐉Blog!