计算机学习

您现在的位置是:首页 > go > 正文

go

exec: "D:\\D\\go-cache\\go-build2238180909\\b001\\exe\\main": file does not exist报错

hhb2025-07-20go7
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 二进制文件。

解决方案:

  1. 临时修复(当前会话):

    cmd
    set GOOS=windows
    go run main.go
  2. 永久修复(修改环境变量):

    • 删除或修改系统/用户环境变量中的 GOOS=linux


    • 或者在项目目录下创建 .env 文件(需配合工具读取)

    • 跨平台编译时的正确做法

      cmd
      # 编译 Linux 程序(在 Windows 上)
      set GOOS=linux
      go build -o output-linux
      
      # 编译 Windows 程序
      set GOOS=windows
      go build -o output.exe



发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~