我已经安装了 ghc 6.12.3,然后是 Haskell 平台。我正在尝试编译一个测试程序:
$ ghc test.hs
test.hs:3:0:
Failed to load interface for `Bindings':
Use -v to see a list of the files searched for.
所以,很自然,我愿意
cabal install Bindings
哪个工作正常,并将包放在 ~/.cabal/lib/bindings-0.1.2 中。问题是,当我用 ghc 再次编译时,它仍然找不到我用 cabal 安装的包。以详细模式编译给出:
ghc -v test.hs
Using binary package database: /home/ludflu/ghc/lib/ghc-6.12.3/package.conf.d/package.cache
Using binary package database: /home/ludflu/.ghc/x86_64-linux 6.12.3/package.conf.d/package.cache
正如另一个 stackoverflow 用户所建议的,我尝试了:
ghc-pkg describe rts > rts.pkg
vi rts.pkg # add the /home/ludflu/.cabal/lib to `library-dirs` field
ghc-pkg update rts.pkg
但无济于事。如何将 .cabal 添加到要搜索的包目录列表中?谢谢!