签到成功

知道了

CNDBA社区CNDBA社区

go 编译 cannot execute binary file 错误解决方法

2023-03-03 09:13 2774 0 原创 Go
作者: dave

1 现象

在mac上编写的go 代码,远程发布到linux 上执行,会报如下错误:http://www.cndba.cn/dave/article/116466

http://www.cndba.cn/dave/article/116466
http://www.cndba.cn/dave/article/116466

GOROOT=/opt/homebrew/Cellar/go/1.19.5/libexec #gosetup
GOPATH= #gosetup
/opt/homebrew/Cellar/go/1.19.5/libexec/bin/go build -o /private/var/folders/rg/7cl0y8717_j0hks264rdl47h0000gn/T/GoLand/___go_run_drz_go_linux /Users/david/Documents/DaveDocs/WorkSpace/Go/drz.go #gosetup
/data/dave/Go/executables-GJ4q2mbJKi/___go_run_drz_go_linux
/data/dave/Go/executables-GJ4q2mbJKi/___go_run_drz_go_linux: /data/dave/Go/executables-GJ4q2mbJKi/___go_run_drz_go_linux: cannot execute binary file

Process finished with the exit code 126

2 原因分析

Go是一门编译型语言,所以在不同平台上,需要编译生成不同格式的二进制包。编译时候只需要指定两个参数:GOOS和GOARCH即可。http://www.cndba.cn/dave/article/116466http://www.cndba.cn/dave/article/116466http://www.cndba.cn/dave/article/116466

编译到 linux 64bit
$ GOOS=linux GOARCH=amd64 go build
或者可以使用 -o 选项指定生成二进制文件名字
$ GOOS=linux GOARCH=amd64 go build -o app.linux

编译到 linux 32bit
$ GOOS=linux GOARCH=386 go build

编译到 windows 64bit
$ GOOS=windows GOARCH=amd64 go build

编译到 windows 32bit
$ GOOS=windows GOARCH=386 go build

编译到 Mac OS X 64bit
$ GOOS=darwin GOARCH=amd64 go build

在不同的平台编写快捷生成脚本的时候也是不一样的

linux sh
GOARCH=amd64 GOOS=linux go build -o myweb main.go


windows bat
set GOARCH=amd64
set GOOS=linux
go build -o myweb main.go

3 解决方法

我们这里只在GoLand上写的,直接修改配置,勾选Build on remote target即可。http://www.cndba.cn/dave/article/116466http://www.cndba.cn/dave/article/116466

![](https://www.cndba.cn:8080/cndba/temp/1677805952348.png)

http://www.cndba.cn/dave/article/116466
http://www.cndba.cn/dave/article/116466

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2262
    原创
  • 3
    翻译
  • 578
    转载
  • 192
    评论
  • 访问:8087443次
  • 积分:4349
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ