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安装的二进制文件一起存在.
出于某种原因,无论是syntastic或ghc_mod检查模块正在寻找在错误的地方设置文件.尽管事实上我的任何Neovim或插件配置文件或任何环境变量都没有引用此路径.
如何在正确的位置获取ghc_mod或syntastic查找GHC设置文件?
今天早上我决定重新安装ghc-mod,cabal这似乎已经彻底解决了问题!
采取的其他步骤包括运行:PlugUpdate、 以及完全删除和重新安装ghcmod-vim和syntastic插件,尽管我不知道这些是否有助于间接解决问题 - 问题一直存在,直到我运行cabal update和cabal install ghc-mod(单独重新安装它)。
正如评论中善意指出的那样,这个问题的根本原因是ghc-mod在 5.4.0 版本之后引入了重大更改,这迫使syntastic维护者放弃了对其的支持。