ghc-mod not found が出たの場合の対応
ghc-mod not foundがよく出てくるのでいい加減書いておく。ghc-mod not found はPATH設定してないのがゲンインらしい。
対処方法
$ cabal install ghc-mod
でインストールしておく。
LinuxとWindowsの場合の設定の仕方があるとPATHの設定を書き分けれるから便利なのでinit.elなどに書いておく。
;; Linuxの判別 (defvar run-linux (equal system-type 'gnu/linux)) ;; Windowsの判定 (defvar run-nt (equal system-type 'windows-nt)) (defvar run-cygwin (eq system-type 'cygwin)) (defvar run-ms-dos (equal system-type 'ms-dos)) (defvar run-meadow (featurep 'meadow)) (defvar run-windows (or run-nt run-cygwin run-ms-dos run-meadow))
次のPATHの設定をする。Linux、Windowsそれぞれこの場所にcabalの実行パスがある。Windowsはcygwinやmsysgitなどで
$ type cabal
をすればどこにパスがあるかがわかる。パスがこの記事と違っている場合はそのパスに書き換えてください。
;;Linuxの場合のPATHの設定 (when run-linux (add-to-list 'exec-path "~/.cabal/bin")) ;;Windowsの場合のPATHの設定 (when run-windows (add-to-list 'exec-path (concat "C:/Users/" user-login-name "/AppData/Roaming/cabal/bin"))) (autoload 'ghc-init "ghc" nil t) (add-hook 'haskell-mode-hook (lambda () (ghc-init)))
これでghc-modが見つかるはず。
追記 2015/06/08
add-hookにflymakeの設定はいらなかったので削除しました。