我有一種情況,其中ghc-mod
無法找到安裝在我的〜/ .ghc /目錄中的模塊。ghc-mod無法找到用戶安裝的模塊
程序(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
位於〜/資源庫/哈斯克爾/ 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目錄?
這是一個cabal項目的一部分嗎?如果是這樣的話,那麼當前的ghc-mod中有一個bug可能需要一個「cabal clean」,如果你已經改變了已安裝的軟件包的話。 – 2014-09-05 18:37:40
否 - 目錄中沒有cabal文件。 – ErikR 2014-09-05 18:48:41
Cabal通常是安裝用戶庫時最簡單和最安全的方式。如果你添加一個cabal文件,把它指向你的'foo.hs',然後運行'cabal install',你應該很好。您還需要在cabal文件中添加'monad-loops'作爲依賴項,但'cabal init'會爲您創建一個框架文件,有時您可以從代碼中爲您解決這個問題。 – bheklilr 2014-09-05 19:22:35