Cabal/How to install a Cabal package
From HaskellWiki
< Cabal(Difference between revisions)
(Update now cabal-install has been released) |
(fixed dead links) |
||
| (9 intermediate revisions not shown.) | |||
| Line 1: | Line 1: | ||
[[Category:How to]] | [[Category:How to]] | ||
| - | There's an interesting Haskell package on [http://hackage.haskell.org/packages/archive/pkg-list.html | + | There's an interesting Haskell package on [http://hackage.haskell.org/packages/archive/pkg-list.html Hackage] you'd like to try. How do you install it on your system? |
| - | + | == Installing packages using cabal == | |
| - | + | By far the easiest way is to use the <code>cabal</code> command line tool to install a new package and its dependencies. <code>cabal</code> is part of the [http://haskell.org/platform Haskell Platform], so make sure you install that first. The [[Cabal-Install]] page explains how to use <code>cabal</code>. | |
| - | + | ||
| + | |||
| + | If you so wish, you can still install packages manually -- see the section below. | ||
== Installing packages manually == | == Installing packages manually == | ||
| Line 12: | Line 14: | ||
# 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/cabal/release/cabal-latest/doc/users-guide/ Cabal documentation] for more details): |
| - | #:<code> | + | #:<code>runhaskell Setup configure</code> |
| - | #:<code> | + | #:<code>runhaskell Setup build</code> |
| - | #:<code> | + | #:On a Unix or Linux system: |
| + | #:<code>sudo runhaskell Setup install</code> | ||
| + | #: | ||
| + | #:Windows (login with administrator rights): | ||
| + | #:<code>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 (Windows users replace $HOME with %home%): |
| - | #:<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> | + | #: On a Unix or Linux system: |
| + | #: <code>sudo runhaskell Setup install</code> | ||
| + | #: | ||
| + | #: Windows (login with administrator rights): | ||
| + | #: <code>runhaskell Setup install</code> | ||
Current revision
There's an interesting Haskell package on Hackage you'd like to try. How do you install it on your system?
1 Installing packages using cabal
By far the easiest way is to use the cabal command line tool to install a new package and its dependencies. cabal is part of the Haskell Platform, so make sure you install that first. The Cabal-Install page explains how to use cabal.
If you so wish, you can still install packages manually -- see the section below.
2 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 build- On a Unix or Linux system:
sudo runhaskell Setup install- Windows (login with administrator rights):
runhaskell Setup install
2.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 (Windows users replace $HOME with %home%):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 - On a Unix or Linux system:
-
sudo runhaskell Setup install - Windows (login with administrator rights):
-
runhaskell Setup install
-
