2013-12-21 145 views
0

我剛剛安裝了EclipseFP,現在我正試圖在GHCi中加載模塊。問題在於GHCi不會加載cabal安裝的庫,這是我的模塊引用的。之後,我在GHCI設置-v就跑:R,它看起來像GHCI只是尋找一個安裝全球,沒有圖書館已安裝了本地用戶庫:EclipseFG不搜索「用戶」安裝的模塊

Could not find module `Text.ParserCombinators.Parsec' 
There are files missing in the `parsec-3.1.3' package, 
try running 'ghc-pkg check'. 
Locations searched: 
    Text/ParserCombinators/Parsec.hs 
    Text/ParserCombinators/Parsec.lhs 
    /Library/Haskell/ghc-7.6.3/lib/parsec-3.1.3/lib/Text/ParserCombinators/Parsec.hi 

然而,當我m在終端中運行GHCi或通過emacs中的Haskell-Mode運行,一切正常!

我想知道在EclipseFP中我的配置是否有問題,或者我可以強制GHCi搜索用戶本地模塊。

順便說一句,我已經嘗試-i選項的本地搜索路徑傳遞到三氯甲烷

-i~/Library/Haskell/ghc-7.6.3/lib/ 

但顯然,GHCI只尋找源文件(例如,Parsec.hs和Parsec.lhs )但不包含指定路徑中的接口文件(Parsec.hi)。

如果您能幫助我體驗Eclipse中Haskell編程的樂趣,我將非常感激!

謝謝!

回答

0

在Eclipse中,已經爲您的模塊上的GHCi運行創建了運行配置。這會給你傳遞給GHCi的確切參數。它應該引用用戶軟件包db和你的模塊需要的所有軟件包(確保適當的依賴關係在Cabal文件中)。 EclipseFP在默認情況下將軟件包安裝在用戶數據庫中,所以通常情況下可以正常工作。您不需要在EclipseFP中向GHCi添加特定的目錄。

+0

謝謝!我錯過了cabal文件和GHCi之間的連接。我取得了一些進展,但現在buildwrapper使用的是比cabal-install更早的cabal庫。我發現你對類似問題的回覆https://github.com/JPMoresmau/BuildWrapper/issues/18。所以,我想我需要重建我的ghc(通過端口非常痛苦)或降級cabal-install。 – Salman

+0

是的,不幸的是,我們被困在與GHC和Cabal的三方依賴關係中,因此您需要使用與您的ghc一起構建的相同的cabal版本。 –