我在我的编辑器(Neovim)中使用了许多Haskell插件,其中一个是ghcmod-vim
,它与syntastic
一起工作,在编写Haskell代码时提供语法检查。
有一次,我安装了GHC for Mac OS X作为构建系统配置中许多问题的临时解决方法。这些问题已经修复,因此我从.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
settings
文件包含具有各种构建环境选项的键/值对列表,这些选项通常与ghc
二进制文件一起存储,并且与ghc
二进制文件一起存在于/usr/local/bin
二进制文件中{1}},使用Homebrew安装。
出于某种原因,syntastic
或ghc_mod
检查程序模块正在寻找错误位置的设置文件。尽管事实上我的任何Neovim或插件配置文件或任何环境变量都没有引用此路径。
如何让ghc_mod
或syntastic
在正确的位置查找GHC设置文件?
答案 0 :(得分:2)
我决定今天早上使用ghc-mod
重新安装cabal
,这似乎完全解决了这个问题!
其他步骤包括运行:PlugUpdate
,并完全删除并重新安装ghcmod-vim
和syntastic
插件,但我不知道这些是否有助于间接解决问题 - 问题持续到我运行cabal update
和cabal install ghc-mod
(单独重新安装)。
正如在评论中明确指出的那样,这个问题的根本原因是ghc-mod
在版本5.4.0之后引入了重大更改,forced the syntastic
maintainers to drop support for it。