在这种情况下,ghc-mod无法找到安装在我的~/..ghc/目录中的模块。
程序(foo.hs)只是:
import Control.Monad.Loops
main = undefinedghci没有任何错误地加载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以查看我的~/.ghc目录?
发布于 2014-10-30 14:14:39
答案是,ghc-mod将在当前工作目录的所有父目录中查找一个cabal.sandbox.config文件,并使用该文件,如果它找到了该文件,并且该文件隐藏了我的~/.ghc包目录。
https://stackoverflow.com/questions/25691924
复制相似问题