Emacs可以';在go模式下找不到gofmt

Emacs可以';在go模式下找不到gofmt,emacs,go,Emacs,Go,我正在尝试使用Emacs进行golang编程。我下载了go mode软件包并安装了它。我的.emacs是: (require 'go-mode) 当我打开*.go文件时,go模式正确启用。但是我不能保存任何*.go文件,因为当我试图保存*.go文件时,我在微型缓冲区中遇到一个错误 gofmt找不到程序 已安装Golang(版本1.3),gofmt从终端开始工作 我怎样才能解决这个问题 谢谢。确保您的路径中有gofmt。(echo$PATH)检查一下,如果您不能在shell中运行gofmt,那么

我正在尝试使用Emacs进行golang编程。我下载了
go mode
软件包并安装了它。我的
.emacs
是:

(require 'go-mode)
当我打开
*.go
文件时,
go模式
正确启用。但是我不能保存任何
*.go
文件,因为当我试图保存
*.go
文件时,我在微型缓冲区中遇到一个错误

gofmt
找不到程序

已安装Golang(版本1.3),
gofmt
从终端开始工作

我怎样才能解决这个问题


谢谢。

确保您的路径中有gofmt。(echo$PATH)检查一下,如果您不能在shell中运行gofmt,那么emacs可能也不会

我的设置中的gofmt是$GOBIN/gofmt,但我认为它也可以是$GOPATH/bin中的一个

如果您的路径中有它,那么很可能您有一个设置路径的emacs配置。根据需要改变

如果您是通过数据包管理器安装的,那么gofmt可能会在其他地方。(我认为brew将其放入/usr/local/bin)


发生这种情况并且确实需要保存时的小提示:切换回文本模式(
M-x文本模式
)。

在OSX上,我使用.emacs/init.el中的以下命令

(use-package exec-path-from-shell
  :ensure t
  :init (exec-path-from-shell-initialize))

为确保Emacs使用正确的路径。

Emacs与
$path
的等价物是
exec path
,如果您在OSX上,它们可能没有相同的元素,请参阅