exec: "D:\\D\\go-cache\\go-build2238180909\\b001\\exe\\main": file does not exist报错
win执行gorunmain.go 报exec:"D:\\D\\go-cache\\go-build2238180909\\b001\\exe\\main":f
win执行 go run main.go
报exec: "D:\\D\\go-cache\\go-build2238180909\\b001\\exe\\main": file does not exist
解决
执行 go env
发现 set GOOS=linux
问题根源:
设置了 GOOS=linux
,这意味着 Go 会尝试编译 Linux 可执行文件(ELF 格式),但您在 Windows 上运行 go run
,导致 Windows 无法执行生成的 Linux 二进制文件。
解决方案:
临时修复(当前会话):
set GOOS=windows go run main.go
永久修复(修改环境变量):
删除或修改系统/用户环境变量中的
GOOS=linux
或者在项目目录下创建
.env
文件(需配合工具读取)跨平台编译时的正确做法:
# 编译 Linux 程序(在 Windows 上) set GOOS=linux go build -o output-linux # 编译 Windows 程序 set GOOS=windows go build -o output.exe
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~