0

我有一种情况,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
...

有点奇怪的是,foo.hs在 Haskell 模式下加载 Emacs 时我没有收到错误,并且可能也使用ghc-mod.

有没有办法进一步调试和/或配置 ghc-mod 以查看我的 ~/.ghc 目录?

4

1 回答 1

1

答案是ghc-mod它将cabal.sandbox.config在当前工作目录的所有父目录中查找一个文件,并在找到时使用该文件,这隐藏了我的~/.ghc包目录。

于 2014-10-30T14:14:39.480 回答