Difference between revisions of "Cabal/How to install a Cabal package"
From HaskellWiki
< Cabal
DavidHouse (talk | contribs) (Change to runhaskell, omit .hs suffices, add sudo for installs) |
(Added a link to the download page of cabal.exe) |
||
Line 4: | Line 4: | ||
# Check whether the package came with your Haskell implementation. | # Check whether the package came with your Haskell implementation. | ||
# If your [[:Category:OS|operating system]] has a packaging system (e.g. most Linux or BSD distributions), check whether it is already packaged there. | # If your [[:Category:OS|operating system]] has a packaging system (e.g. most Linux or BSD distributions), check whether it is already packaged there. | ||
− | # Otherwise, you'll have to build and install the package. By far the easiest way is to use [http://hackage.haskell.org/trac/hackage/wiki/CabalInstall ''cabal-install''] to do everything automatically (note to build cabal-install for the first time, you'll need to use the manual method below). If you so wish, you can still install packages manually -- see the section below. | + | # Otherwise, you'll have to build and install the package. By far the easiest way is to use [http://hackage.haskell.org/trac/hackage/wiki/CabalInstall ''cabal-install''] to do everything automatically (note to build cabal-install for the first time, you'll need to use the manual method below; Windows users can download a binary () cabal.exe) from [http://haskell.org/~duncan/cabal/ here]). If you so wish, you can still install packages manually -- see the section below. |
== Installing packages manually == | == Installing packages manually == |
Revision as of 22:06, 23 November 2008
There's an interesting Haskell package on HackageDB you'd like to try. How do you install it on your system?
- Check whether the package came with your Haskell implementation.
- If your operating system has a packaging system (e.g. most Linux or BSD distributions), check whether it is already packaged there.
- Otherwise, you'll have to build and install the package. By far the easiest way is to use cabal-install to do everything automatically (note to build cabal-install for the first time, you'll need to use the manual method below; Windows users can download a binary () cabal.exe) from here). If you so wish, you can still install packages manually -- see the section below.
Installing packages manually
- First, ensure that all the packages it depends on are installed (by following these instructions recursively).
- Unpack the tar file (yes, this assumes a Unix system; sorry about that (how to unpack a tar file in windows)):
tar xzf PACKAGE-VERSION.tar.gz
- Move into the directory this creates:
cd PACKAGE-VERSION
- In order to install a package globally, perform the following commands (see the Cabal documentation for more details):
runhaskell Setup configure
runhaskell Setup build
sudo runhaskell Setup install
Notes
- If instead of installing globally, you just wish to install a package for your normal user account, you could instead use the following
configure
command, which would register the install in the user-specific database and install binaries and libraries in $HOME/bin, $HOME/lib, and so forth :runhaskell Setup configure --user --prefix=$HOME
- (Note that in Cabal 1.4 onwards, you may omit the
--prefix=$HOME
, since--prefix=$HOME/.cabal
is now implied by--user
. Also note that you can omitsudo
in the install statement if you use this method.)
- You can get more information about any of these commands by adding
--help
after the command. For example, to see all the options available for theconfigure
step, you could use the following command:runhaskell Setup configure --help
- If you encounter unsatisfied dependencies when you run the configure step, that is when you recurse and first install the missing package.
- If you have more than one Haskell compiler on your system, use the
--with-compiler
option for theconfigure
step. That will ensure that Cabal uses the correct compiler during the entire installation process. For example:runhaskell Setup configure --with-compiler=ghc-6.8.2
runhaskell Setup build
sudo runhaskell Setup install