编译Golang前需安装开发工具链和系统依赖,确保编译过程顺利。执行以下命令:
sudo yum groupinstall "Development Tools" -y # 安装GCC、Make等基础编译工具
sudo yum install wget git -y # 安装wget(下载工具)、git(版本控制)
sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel -y # Golang编译所需的系统库
从Golang官方网站获取最新稳定版本的源码包(以Go 1.21为例):
wget https://golang.org/dl/go1.21.linux-amd64.tar.gz # 替换为最新版本链接
将下载的源码包解压到/usr/local目录(系统级安装路径):
sudo tar -C /usr/local -xzf go1.21.linux-amd64.tar.gz
进入解压后的源码目录,执行编译脚本:
cd /usr/local/go/src
./all.bash # 自动完成编译和测试(需联网下载依赖)
编译过程需等待几分钟(取决于系统性能),完成后会提示ALL TESTS PASSED,表示编译成功。
为了让系统识别Golang命令并设置工作目录,需修改环境变量:
echo 'export GOROOT=/usr/local/go' >> ~/.bashrc # 指向Go安装目录
echo 'export GOPATH=$HOME/go' >> ~/.bashrc # 设置工作目录(存放代码、依赖)
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> ~/.bashrc # 添加Go命令到PATH
source ~/.bashrc # 使配置立即生效
运行以下命令检查Golang版本,确认安装成功:
go version
若输出类似go version go1.21 linux/amd64,则表示安装正确。
创建一个简单的Go程序(如hello.go)并编译:
mkdir -p $GOPATH/src/hello # 创建项目目录(遵循GOPATH结构)
cd $GOPATH/src/hello # 进入项目目录
cat <<EOF > hello.go # 编写代码
package main
import "fmt"
func main() {
fmt.Println("Hello, CentOS Golang!")
}
EOF
go build -o hello # 编译生成可执行文件
./hello # 运行程序
若终端输出Hello, CentOS Golang!,则说明编译运行成功。
若需要为Windows、ARM等平台编译,可通过GOOS(操作系统)和GOARCH(架构)环境变量指定目标平台:
GOOS=windows GOARCH=amd64 go build -o hello.exe hello.go # 编译为Windows 64位程序
GOOS=linux GOARCH=arm go build -o hello_arm hello.go # 编译为ARM Linux程序
以上步骤覆盖了CentOS下从源码编译Golang到运行程序的全流程,确保环境配置正确即可顺利完成编译。