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上运行,一气呵成!
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现