如何在CentOS上编译Go项目
在CentOS上编译Go项目:先安装Go,解压至/usr/local并配置PATH。创建项目目录如~/go/src/myproject,编写main.go后用gobuild编译,生成可执行文件。第三方依赖通过goget下载。交叉编译设置GOOS和GOARCH环境变量。需注意版本兼容性。
在CentOS上编译Go项目,听起来是个很常规的操作,但实际动手时,不少人会在环境配置上卡壳。这篇文章把核心步骤拆解清楚,按顺序走下来基本不会出问题。

先搞定Go环境本身。如果系统里还没装Go,直接从官网下载Linux版安装包就行。以1.17.6为例,操作流程很标准:
# 下载安装包
wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz
# 解压到/usr/local
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
# 把go命令加入PATH,保存到bash配置文件里
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bash_profile
source ~/.bash_profile
# 确认安装成功
go version
环境就绪后,需要给项目找个窝。创建一个工作目录,比如 ~/go/src/myproject,然后切换进去。这个目录结构其实可以按个人习惯来,但按照Go的传统做法,放在$GOPATH/src下比较省心。
mkdir -p ~/go/src/myproject
cd ~/go/src/myproject
接下来写代码。用vim或者任何你顺手的编辑器,新建一个main.go文件,把Go程序写进去。保存之后,编译就很简单了:直接执行go build,它会在当前目录生成一个可执行文件。如果项目里包含多个包,用go build ./...一次性全部编译。
go build
编译完成后,直接运行生成的文件就能看到效果。
./main
如果项目依赖了第三方库,比如GitHub上的某个包,需要先用go get下载。加个-u参数可以更新到最新版本,下载后的依赖会统一放在$GOPATH/pkg/mod目录里。
go get -u github.com/some/dependency
最后提一下交叉编译——这是Go非常方便的特性。如果你想在CentOS上编译出Windows或macOS的可执行文件,只需要设置GOOS和GOARCH两个环境变量。举个例子,编译Windows 64位程序:
GOOS=windows GOARCH=amd64 go build -o main.exe
把GOOS换成linux或darwin,就能分别得到对应平台的二进制文件。编译之前,记得检查代码有没有语法错误,所有依赖是否都已经正确拉取。这些基础工作做好了,后续的编译就几乎不会出岔子。


































