我遇到ghc-mod
无法在〜/ .ghc /目录中找到模块的情况。
程序(foo.hs)只是:
import Control.Monad.Loops
main = undefined
ghci
加载foo.hs
没有任何错误。
ghc-pkg list
生成输出:
/Library/Frameworks/GHC.framework/Versions/7.8.3-x86_64/usr/lib/ghc-7.8.3/package.conf.d
Cabal-1.18.1.4
GLURaw-1.4.0.1
...
~/.ghc/x86_64-darwin-7.8.3/package.conf.d:
...
monad-loops-0.4.2.1
但ghc-mod check foo.hs
错误:
x.hs:4:8:Could not find module ‘Control.Monad.Loops’Perhaps you meant Control.Monad.Cont (from mtl-2.1.3.1) Control.Monad.List (from mtl-2.1.3.1) Control.Monad.Trans (from mtl-2.1.3.1)Use -v to see a list of the files searched for.
ghc-mod
位于〜/ Library / Haskell / bin中,ghc-mod -v
发出:
ghc-mod version 5.0.1.2 compiled by GHC 7.8.3
...
有什么奇怪的是,在haskell模式下在Emacs中加载foo.hs
时我不会收到错误,并且可能会使用ghc-mod
。
有没有办法进一步调试和/或配置ghc-mod来查看我的〜/ .ghc目录?
答案 0 :(得分:1)
答案是ghc-mod
将在当前工作目录的所有父目录中查找cabal.sandbox.config
文件,如果找到一个,则使用该文件,这隐藏了我的~/.ghc
包。目录