go语言exec format error, Failed to launch: could not launch process: not an executable file异常解决方法

go调试时的异常信息

Failed to launch: could not launch process: not an executable file

exec format error

Running tool: ~/.gvm/go/bin/go test -timeout 30s -run ^ExampleM1$ tekin.cn/golearn/src/error

fork/exec /var/folders/fr/vps_kg1d365f52shzymbmv840000gn/T/go-build3908490107/b001/error.test: exec format error
FAIL	tekin.cn/golearn/src/error	0.002s
FAIL

解决方法

golang开发的程序在运行时出现 exec format error 这个异常就表示运行平台不一致,即打包时的go环境为CGO_ENABLED=0 GOOS=linux 而你运行的平台不是linux系统(注意linux下的应用和mac的应用是不同的), 解决方法就是换成相关平台的执行文件。 

如果是在开发的时候,即代码里面运行或者调试时出现这个异常,那就需要重新设置你的go环境变量为实际的平台变量,方法如下:

# go通过使用不同的环境变量可以打包不同平台运行的程序

# mac下的环境变量
go env -w CGO_ENABLED=1 GOOS=darwin GOARCH=amd64

# linux的环境变量
go env -w CGO_ENABLED=0 GOOS=linux GOARCH=amd64

# windows的环境变量
go env -w CGO_ENABLED=0 GOOS=windows GOARCH=amd64

go通过使用不同的环境变量可以打包不同平台运行的程序,当然运行和调试的时候如果你的环境变量不对应也是无法运行的。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值