GHC-mod在错误的目录中查找设置文件

Jul*_*les 5 haskell syntastic neovim ghc-mod

我在我的编辑器(Neovim)中使用了许多Haskell插件,其中之一就是在编写Haskell代码ghcmod-vim时与它一起syntastic提供语法检查.

有一次,我已经为Mac OS X安装了GHC,作为构建系统配置中许多问题的临时解决方法.这些问题已经修复,所以我.app从我的包中/Applications删除了它并删除了它附加到我的行~/.zshrc.

出于某种原因,即使是现在,当我编写Haskell文件并将其保存到磁盘时,我在Neovim的消息缓冲区中收到错误:

"myfile.hs" 10L, 163C written
syntastic: error: checker output:
/Applications/ghc-7.8.4.app/Contents/lib/ghc-7.8.4/settings: openFile: does not exist (No such file or directory)
syntastic: error: checker haskell/ghc_mod returned abnormal status 1
Run Code Online (Sandbox Code Playgroud)

settings文件包含具有各种构建环境选项的键/值对列表,这些选项通常与ghc二进制文件一起存储,并且与ghc/usr/local/bin使用Homebrew安装的二进制文件一起存在.

出于某种原因,无论是syntasticghc_mod检查模块正在寻找在错误的地方设置文件.尽管事实上我的任何Neovim或插件配置文件或任何环境变量都没有引用此路径.

如何在正确的位置获取ghc_modsyntastic查找GHC设置文件?

Jul*_*les 2

今天早上我决定重新安装ghc-modcabal这似乎已经彻底解决了问题!

采取的其他步骤包括运行:PlugUpdate、 以及完全删除和重新安装ghcmod-vimsyntastic插件,尽管我不知道这些是否有助于间接解决问题 - 问题一直存在,直到我运行cabal updatecabal install ghc-mod(单独重新安装它)。

正如评论中善意指出的那样,这个问题的根本原因是ghc-mod在 5.4.0 版本之后引入了重大更改,这迫使syntastic维护者放弃了对其的支持

  • 对于任何可能有用的人:我必须额外删除 `~/.cabal` — 仅仅重新安装 `ghc-mod` 并不能解决错误(可能是因为 HomeBrew 引入了 `ghc-7.10.3a` 和 `ghc-7.10`)。 3b`,这显然不是官方的 GHC 版本)。 (2认同)