我使用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。有吗?
提前感谢任何建议。
答案 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")