众所周知Golang能够在一个平台编译不同平台可执行程序进行发布
然而在遇到需要内置处理程序才能执行的程序时就有坑了,例如Golang内置Sqlite3
过程踩坑就不扯了,上代码
windows 打包linux 执行程序会有问题(内置sqlite3的),在寻求此方案的兄弟们可以放弃了,成本与收益不成正比 。linux 自带gcc环境
目前最新golang本版1.20.2,此处仅安装不设置系统环境变量
mkdir /etc/golang/
cd /etc/golang/
wget https://github.com/golang/go/archive/refs/tags/go1.20.2.zip
unzip go1.20.2.zip
rm -rf go1.20.2.zip
export GOROOT=/etc/golang/go1.20.2
export PATH=$GOROOT/bin:$PATH
export GOPATH=/etc/golang/gopath
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/bashrc
set cc=gcc
set CGO_ENABLED=1
set GOOS=linux
set GOARCH=amd64
go mod tidy
go build -ldflags="-s -w" -v -a ./src/main.go