我正在尝试运行从Haskell wiki获得的这个简单的示例。
import GHC
import GHC.Paths ( libdir )
import DynFlags
main =
defaultErrorHandler defaultFatalMessager defaultFlushOut $ do
runGhc (Just libdir) $ do
dflags <- getSessionDynFlags
setSessionDynFlags dflags
target <- guessTarget "test_main.hs" Nothing
setTargets [target]
load LoadAllTargets我得到的错误消息是:
amy@wombat$ ghc --make amy15.hs
amy15.hs:1:8:
Could not find module ‘GHC’
It is a member of the hidden package ‘ghc-7.8.3’.
Use -v to see a list of the files searched for.
amy15.hs:3:8:
Could not find module ‘DynFlags’
It is a member of the hidden package ‘ghc-7.8.3’.
Use -v to see a list of the files searched for.现在,ghc-7.8.3是我用来进行编译的工具,所以很明显,这个包已经安装好了。
amy@wombat$ cabal info ghc
* ghc (library)
Versions available: [ Not available from server ]
Versions installed: 7.8.3
... and so on为什么GHC看不到ghc包?
发布于 2014-10-01 18:18:54
大多数包裹确实是隐藏的。
若要暂时取消隐藏它们,可以使用ghc --make amy15.hs -package ghc-7.8.3。
若要永久解除隐藏,请使用@mhwombat建议的方法。
发布于 2014-10-01 15:52:22
显然,默认情况下,ghc包是隐藏的,至少如果您像我一样手动安装ghc,而不是安装Haskell平台。因此,我需要“不隐藏”的包裹如下:
sudo ghc-pkg expose ghchttps://stackoverflow.com/questions/26145383
复制相似问题