Hlint与emacs的集成无法在新机器上运行

时间:2012-01-13 07:54:35

标签: emacs hlint

我使用hs-lint.el的emacs中的hlint完全按照链接中描述的方式使用。

hlint位于我的〜/ .cabal / bin目录中,该目录位于我的$ PATH上,当我从命令行调用它时,一切都按预期工作。当我在新机器上设置它并尝试在emacs中调用它时,我在迷你缓冲区中收到以下消息:

error in process sentinel: Moved past last error

以及*hs-lint*缓冲区中的以下内容:

-*- mode: hs-lint; default-directory: "/home/wvoq/project/" -*-
HLint started at Fri Jan 13 02:48:53

hlint /home/wvoq/project/myfile.hs
/bin/bash: hlint: command not found

HLint exited abnormally with code 127 at Fri Jan 13 02:48:53

根据我的理解,bash没有理由找不到hlint。有吗?

提前感谢任何建议。

1 个答案:

答案 0 :(得分:4)

如果您从桌面快捷方式启动Emacs,则它所拥有的PATH不是您的shell所具有的PATH。如果从shell启动Emacs,您应该能够确认这是问题所在。有很多方法可以解决它。例如,在OS X上,您可以将环境变量添加到~/.MacOSX/environment.plist。或者您可以在Emacs中设置PATH,例如:

(setenv "PATH" (concat "~/.cabal/bin:" (getenv "PATH")))
(add-to-list 'exec-path "~/.cabal/bin")