2012-01-13 109 views
2

我在鏈接中描述的方式中使用的emacs中的hlint與hs-lint.el完全相同。Hlint與emacs集成在新機器上無法正常工作

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。在那兒?

在此先感謝您的任何建議。

回答

4

如果您從桌面快捷方式PATH啓動Emacs,它不是您的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") 
+0

是的,第一行足以解決它。再次感謝。 – wvoq 2012-01-14 05:32:46

+1

您也可以在OS X上正常啓動Emacs,並使用名爲[exec-path-from-shell]的elisp庫(https://github.com/purcell/exec-path-from-shell)來設置Emacs的$ PATH匹配在shell中看到的。可安裝的軟件包可在Marmalade和[Melpa](http://melpa.milkbox.net/)中獲得。 – sanityinc 2012-09-13 09:51:20

相關問題