golang 获取运行二进制文件的目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 获取运行二进制文件的目录相关的知识,希望对你有一定的参考价值。

filepath.Abs("./")

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

背景:

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

尝试了一下无法运行?但是我在ubuntu rockylinux上面尝试了都没有问题,alpine中就是不能运行!
求助了一下万能的搜索引擎:
Golang编译的二进制文件在alpine中无法运行的问题解决
go程序在alpine镜像里无法正常运行
stackoverflow
归根结底就是重新编译可执行文件,设置CGO_ENABLED=0

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

重新编译可执行文件:

克隆代码仓库:

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

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

cd xasset-sdk-go&&go mod tidy


export CGO_ENABLED=0
cd tools/xasset-cli/
go build -o xasset-cli main.go

alpine环境验证

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

只是记录一下…

以上是关于golang 获取运行二进制文件的目录的主要内容,如果未能解决你的问题,请参考以下文章

如何获取当前运行文件的目录?

用golang重写SS帐号获取脚本

Golang 测试工具 go test

Golang 测试工具 go test

go获取项目路径

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