Cabal/How to install a Cabal package
From HaskellWiki
(Difference between revisions)
(Update now cabal-install has been released) |
(Change to runhaskell, omit .hs suffices, add sudo for installs) |
||
| Line 12: | Line 12: | ||
# Move into the directory this creates: | # Move into the directory this creates: | ||
#:<code>cd PACKAGE-VERSION</code> | #:<code>cd PACKAGE-VERSION</code> | ||
| - | # | + | # In order to install a package globally, perform the following commands (see the [http://www.haskell.org/ghc/docs/latest/html/Cabal/builders.html Cabal documentation] for more details): |
| - | #:<code> | + | #:<code>runhaskell Setup configure</code> |
| - | #:<code> | + | #:<code>runhaskell Setup build</code> |
| - | #:<code> | + | #:<code>sudo runhaskell Setup install</code> |
=== Notes === | === Notes === | ||
| - | # If instead of installing globally, you just wish to install a package for your normal user account, you could instead use the following <code>configure</code> command, which would register the install in the user-specific database and install binaries and libraries in $HOME/bin, $HOME/lib, and so forth: | + | # If instead of installing globally, you just wish to install a package for your normal user account, you could instead use the following <code>configure</code> command, which would register the install in the user-specific database and install binaries and libraries in $HOME/bin, $HOME/lib, and so forth : |
| - | #:<code> | + | #:<code>runhaskell Setup configure --user --prefix=$HOME</code> |
| + | #: (Note that in Cabal 1.4 onwards, you may omit the <code>--prefix=$HOME</code>, since <code>--prefix=$HOME/.cabal</code> is now implied by <code>--user</code>. Also note that you can omit <code>sudo</code> in the install statement if you use this method.) | ||
# You can get more information about any of these commands by adding <code>--help</code> after the command. For example, to see all the options available for the <code>configure</code> step, you could use the following command: | # You can get more information about any of these commands by adding <code>--help</code> after the command. For example, to see all the options available for the <code>configure</code> step, you could use the following command: | ||
| - | #:<code> | + | #:<code>runhaskell Setup configure --help</code> |
# If you encounter unsatisfied dependencies when you run the configure step, that is when you recurse and first install the missing package. | # 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 <code>--with-compiler</code> option for the <code>configure</code> step. That will ensure that Cabal uses the correct compiler during the entire installation process. For example: | # If you have more than one Haskell compiler on your system, use the <code>--with-compiler</code> option for the <code>configure</code> step. That will ensure that Cabal uses the correct compiler during the entire installation process. For example: | ||
| - | #: <code> | + | #: <code>runhaskell Setup configure --with-compiler=ghc-6.8.2</code> |
| - | #: <code> | + | #: <code>runhaskell Setup build</code> |
| - | #: <code> | + | #: <code>sudo runhaskell Setup install</code> |
Revision as of 19:14, 21 August 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). If you so wish, you can still install packages manually -- see the section below.
1 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 configurerunhaskell Setup buildsudo runhaskell Setup install
1.1 Notes
- If instead of installing globally, you just wish to install a package for your normal user account, you could instead use the following
configurecommand, 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/.cabalis now implied by--user. Also note that you can omitsudoin the install statement if you use this method.)
- You can get more information about any of these commands by adding
--helpafter the command. For example, to see all the options available for theconfigurestep, 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-compileroption for theconfigurestep. 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
-
