You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell运行Go编译exe出现无关旧项目输出的问题

Go build生成exe输出旧内容的解决方法

我最近开始尝试使用Go语言,在Windows 11系统的VS Code中编写了如下代码:

package main

import (
    "fmt"
)

func main() {
    fmt.Println("This now works.")
}

这段代码在VS Code内运行正常,通过PowerShell执行go run main.go也能输出预期内容:

C:\Users\stuff\Documents\code\go\trial> go run main.go
This now works.

但用go build main.go生成exe文件后,运行main.exe却输出了之前已删除的另一个Go项目内容:

C:\Users\stuff\Documents\code\go\trial> go build main.go
C:\Users\stuff\Documents\code\go\trial> main.exe
153
10.1
Hello world.
true

我在初始化当前模块前已删除旧项目及其文件夹,以下是解决方法:

  • 检查当前目录的旧exe文件:执行Get-ChildItem main.exe查看文件修改时间,若为旧文件直接删除后重新构建。
  • 清理Go构建缓存:执行go clean -cache,彻底清除Go的缓存构建产物,避免复用旧数据。
  • 构建时指定新输出文件名:比如执行go build -output myapp.exe main.go,运行myapp.exe验证输出是否正确,避免和旧同名文件混淆。
  • 检查PowerShell别名冲突:执行Get-Alias main,若存在指向旧程序的别名,执行Remove-Item alias:main删除。
  • 运行exe时使用相对路径:Windows下直接输入main.exe可能调用PATH中其他目录的同名程序,改用.\main.exe运行当前目录的产物。

内容的提问来源于stack exchange,提问作者PileOfMeatballs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 12:32:36