33
votes

I've installed the such-and-such a package using cabal, and I can build a program that depends on it using cabal build. But when I load the same program in ghci, ghci complains that it "Could not find module `such-and-such'".

I'm surprised this doesn't "just work." How do I tell ghci where to find the packages I've installed with cabal?

Here's my setup: I'm using GHC 6.10.4 on Mac OS X 10.6.3, cabal-install version 0.6.2 using version 1.6.0.3 of the Cabal library.

3

3 Answers

23
votes

You need

ghci -package such-and-such

And to double-check that such-and-such is truly visible to GHC, run ghc-pkg list | grep such-and-such.

15
votes

ghc-pkg list on the command line will tell you what your installed packages are. The installed package might be hidden, in which case you can reveal it with ghc-pkg expose {pkg-id}.

2
votes

Use cabal repl to ask cabal to open the GHCi interpreter with all the right settings for your project.