Golang - Windows控制台在运行go.exe时退出

问题描述:

我使用MSI安装程序在Windows 10中安装了Go。然而,当我用参数运行在cmd(或PowerShell)中时,例如env,build,install,list,... 在go命令运行后,控制台窗口关闭(或崩溃?)。这可以防止我在编译转码时看到任何错误或任何错误。Golang - Windows控制台在运行go.exe时退出

是否有某种包含控制台主机数据的窗口日志,如崩溃,错误和警告?这对于确定控制台或控制台主机是否由于某种原因而崩溃很有帮助。

作为一个例子:

go env 

不会输出任何东西,控制台窗口将立即关闭。

编辑:只是为了澄清,我没有在运行对话框中运行此命令,我从管理员命令提示符运行它(我尝试使用PowerShell,也没有运气)。如果我运行:

go help 

它会正常工作。然而,当我运行与任何其他说法去,如:

go install <target> 

go build <target> 

过程将工作,但控制台将给予我任何信息之前退出。

编辑:

我发现了一个临时的解决办法...如果我运行他们照常上班Cygwin的终端去命令。这很奇怪。

+2

您运行该命令的准确程度如何? – JimB

+0

我讨厌推荐一些如此基本的东西,但是您是否尝试过重新启动Windows?我觉得它不应该是必要的,但是......毕竟它是Windows;) – Jonathan

+1

看起来好像有什么东西在杀死conhost.exe(控制台主机进程),或者它正在崩溃。尝试使用旧版控制台。在选项选项卡的控制台属性中,选择使用旧控制台的选项。关闭它并尝试在新的命令提示符下运行Go命令。 – eryksun

我想通了,我已经安装了Cygwin,并将其放入我的路径环境变量中。原来,Cygwin的git安装干扰了最新的git安装。如果我使Cygwin终端运行,这只会导致args无法正常工作。在golang-nuts上有人还提到一些git版本有一些bug,come.exe会导致go命令在Windows上失败。

修复我刚刚从路径中删除Cygwin和更新的git到最新版本。

win+r并在产生的对话框中输入%COMSPEC%。这将启动特定命令插件的新副本,在大多数现代Windows版本上默认为cmd.exe

在这个新窗口或其他喜欢它的人中运行你的Go命令。

你的问题似乎是你试图直接运行命令。 Windows会自动创建一个命令提示符来运行这些命令,但只要命令完成就会立即关闭,然后才能读取输出。

+0

感谢您的帮助,但是,在我可以读取任何内容之前,控制台窗口仍在关闭,构建命令可以正常工作,但如果发生编译器错误,则不会提供任何信息。这在我之前使用过的任何系统中都没有发生过。 – Patrick

+0

等一下。命令提示您手动打开*命令完成时关闭?这是不可能的,如果你愿意,你甚至不能这样做。 (好吧,如果你真的愿意,你可能会这样做,但它会是一个可怕的黑客) –

+0

@Patrick'go build -x -v os 1> out.txt 2>&1'的输出是什么?例如,'out.txt包含什么? –