go交叉编译,部署到linux上出现cannot execute binray file的解决方案

写在前面:

  了解过常见的项目部署方式后,打算先从最简单的方式开始。没想到踩了大坑。先说下整个部署的过程。

   博主是在window上生成linux上的可执行文件..

 

具体过程:

1.首先按照网上说的方式,使用交叉编译生成linux可执行文件:

 

 

 

 

 2.然后通过ftp,将文件上传到linux上,在运行./main 

事情没有这么简单,博主遇到了以下错误:

cannot execute binray file,不能执行该二进制文件

 

 

 

3.去网上查阅,大部分文章都是说CORAHC 和linux架构不一致,但是我这边并没有什么问题。还是不断地尝试了下,最后还是没有成功。

最后突然想到,linux不能执行,是不是因为生成的格式不是linux平台可以执行的格式。然后,博主用  go env 命令查看本地go的配置

 

 

 

 原来是第一步修改的配置都没有生效,默认的还是windows !!!!

经过查证,现在我们的操作系统都默认用powershell,所以命令不能按照第一步的写,那种是cmd的写法

我们改成:

 

 

 再次去查看 go env

 

 

 发现GOOS被修改。接着去linux上运行,一气呵成!

 

posted @   要坚持的girl  阅读(1931)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示