为什么“gofmt -d”在Windows上给出“计算差异:exec:“差异”:在%PATH%中找不到可执行文件”错误?

Cso*_*mai 1 go

我想看看我在 golang 文件中犯了什么错误。为了弄清楚,我发出这样的命令:

gofmt -d myfile.go
Run Code Online (Sandbox Code Playgroud)

根据gofmt --help手册,它应该列出文件的当前版本和所需版本的差异。相反,它会产生以下错误消息:

computing diff: exec: "diff": executable file not found in %PATH%
Run Code Online (Sandbox Code Playgroud)

这怎么能解决?

Cso*_*mai 5

gofmt工具假定系统已安装且可用的diff. 不幸的是,此工具不是标准 Windows 安装的一部分,因此您需要手动添加它。

对于我们大多数人来说,这是添加diff我们计算机上已有工具路径的最简单方法。这是作为git. (如果git尚未安装,请先安装。)

为了解决这个问题,您应该从要在其中执行的 DOS 提示符下发出一个命令gofmt

set PATH=%PATH%;c:\Program Files\Git\usr\bin
Run Code Online (Sandbox Code Playgroud)

(也许您需要根据您的git安装更改路径。)

要获得更持久的解决方案,您应该diff.exe通过控制面板将 的路径添加到 PATH 环境变量中。