L.Isen
L.Isen

Reputation: 3

Can't get Cabal-install to work on my mac

So, I'm trying to get cabal installed so I can get quickcheck to work in haskell, but nothing seems to work. Whenever I try to run "cabal-install" in my terminal (on mac) I get the same message "command not found", I've looked at multiple different "solutions" and even "solutions" on the cabal website, but nothing seems to work. Any help at all would be much appreciated

Upvotes: 0

Views: 368

Answers (1)

HTNW
HTNW

Reputation: 29193

cabal-install is a package. cabal is the executable/command installed by the cabal-install package. cabal install is a subcommand of the cabal command—it's the command cabal called with the argument install. Your full command "should" be cabal install QuickCheck, but there's no point in actually executing that command. If you have Cabal v1 or v2, cabal install refers to the version 1 install method, which is broken and dangerous. If you have Cabal v3, cabal install refers to the version 2 install method, where cabal install QuickCheck is pointless. It will install QuickCheck, but QuickCheck is just a library with no executables, so there's no point.

Assuming cabal-install is correctly installed (you should have access to the cabal command), you need to figure out what you're going to do with QuickCheck. If you just want to open a GHCi session, say cabal v2-repl -b QuickCheck. If you want to compile a bunch of files (i.e. you want something more "permanent"), you need to create a package, where the <pkgname>.cabal file contains something along the lines of

build-depends: base, QuickCheck, ..etc

When you build such a package with cabal v2-build, or you start GHCi with cabal v2-repl -b QuickCheck, cabal will go and install QuickCheck automatically if it needs to. This is why cabal v2-install QuickCheck is pointless.

Upvotes: 1

Related Questions