zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Golang编译的二进制文件在alpine中无法运行

文件Golang二进制 运行 无法 编译 Alpine
2023-06-13 09:16:13 时间

背景:

小伙伴接入了百度超级链数字商品可信登记平台XuperAsset,程序是php 的 要exec 运行xasset-cli的一个可执行程序,but:

image.png

尝试了一下无法运行?但是我在ubuntu rockylinux上面尝试了都没有问题,alpine中就是不能运行!

求助了一下万能的搜索引擎:

Golang编译的二进制文件在alpine中无法运行的问题解决

go程序在alpine镜像里无法正常运行

stackoverflow

归根结底就是重新编译可执行文件,设置CGO_ENABLED=0

Golang编译的二进制文件在alpine中无法运行

重新编译可执行文件:

克隆代码仓库:

git clone https://github.com/xuperchain/xasset-sdk-go
image.png

下载依赖,并编译可执行文件

cd xasset-sdk-go&&go mod tidy
image.png
image.png
export CGO_ENABLED=0
cd tools/xasset-cli/
go build -o xasset-cli main.go
image.png

alpine环境验证

将可执行文件copy到alpine环境中运行 ok

image.png

只是记录一下......