在打包前需确认Golang已正确安装,并配置好环境变量。若未安装,可通过以下两种方式安装:
go1.21.0.linux-amd64.tar.gz),解压至/usr/local目录,然后编辑~/.bashrc(或/etc/profile)文件,添加以下内容:export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
运行source ~/.bashrc使配置生效,最后通过go version验证安装。rpm --import https://mirror.go-repo.io/centos/RPM-GPG-KEY-GO-REPO,curl -s https://mirror.go-repo.io/centos/go-repo.repo | sudo tee /etc/yum.repos.d/go-repo.repo),再用sudo yum install golang安装,但手动安装更易管理版本。使用Go Modules管理依赖(Go 1.11+默认开启,通过GO111MODULE=on设置),避免传统GOPATH模式下的依赖混乱:
go mod init <项目名>(如go mod init example.com/myproject);go mod tidy自动下载缺失的依赖并移除未使用的依赖,确保依赖项完整。docker run -it centos:6 /bin/bash),在其中编译项目。GOOS(操作系统)和GOARCH(架构),例如:export GOOS=linux
export GOARCH=amd64
go build -o myapp
若仍提示权限问题,需用chmod +x myapp赋予执行权限。国内网络访问golang.org等官方源可能被墙,需设置代理加速依赖下载:
GOPROXY环境变量,推荐使用国内代理(如go env -w GOPROXY=https://goproxy.cn,direct),可在~/.bashrc中永久设置。go build -o <输出文件名>(如go build -o myapp),生成可执行文件;GOOS和GOARCH,例如:GOOS=windows GOARCH=amd64 go build -o myapp.exe
chmod +x myapp赋予执行权限,运行./myapp启动程序;若需后台运行,可使用nohup ./myapp &。libcurl等系统库,需用sudo yum install libcurl-devel安装对应开发包;若pkg-config不可用,可手动指定INCLUDE_DIR和LIB_DIR(如R CMD INSTALL --configure-vars='INCLUDE_DIR=/usr/include:${INCLUDE_DIR}' LIB_DIR=/usr/lib64 ${src}')。go clean -cache清理构建缓存,再重新编译。sudo yum update golang或手动下载新版本安装包)。