在 CentOS 上编译 Go 的两种场景与所需工具
- 编译 Go 程序(最常见)
- 从源码构建 Go 工具链(bootstrap)
编译 Go 程序所需工具
- 基础工具与构建链
- 包管理:使用 yum(或 dnf)
- 开发工具组:Development Tools(包含 gcc、make 等)
- 版本控制:git
- 可选网络工具:wget(用于下载工具链或依赖)
- 可选依赖(按需)
- 压缩解压:tar、bzip2
- 正则与压缩库:pcre、pcre-devel、zlib、zlib-devel
- TLS/SSL:openssl、openssl-devel
- 说明
- 现代 Go(1.11+)使用 Go Modules 管理依赖,通常无需系统级安装额外库即可编译大多数项目;只有在调用 cgo 或特定系统库时才需要上面的可选依赖。
从源码构建 Go 工具链所需工具
- 编译链与基础工具
- gcc、gcc-c++、make、git、tar、bzip2
- 可选依赖(按需)
- pcre、pcre-devel、zlib、zlib-devel、openssl、openssl-devel
- 构建步骤要点
- 获取源码:
git clone https://github.com/golang/go.git
- 进入源码目录:
cd go/src
- 执行构建:
./all.bash
- 配置环境:将 $GOROOT/go/bin 加入 PATH
- 验证:
go version
- 提示
- 官方更推荐直接使用官方二进制包安装 Go;从源码构建主要用于特定版本定制或环境一致性需求。
快速安装与验证示例
- 安装基础工具
sudo yum update -y
sudo yum groupinstall -y "Development Tools"
sudo yum install -y wget git
- 验证
go version(若已安装 Go)
git --version、gcc --version、make --version
- 说明
- 以上满足绝大多数 Go 项目的编译需求;涉及 cgo 时再按需补充 pcre/zlib/openssl 等库。