Difference between revisions of "Cabal/How to install a Cabal package"
< Cabal
Jump to navigation
Jump to search
DavidHouse (talk | contribs) (Change to runhaskell, omit .hs suffices, add sudo for installs) |
(fix "Cabal documentation" link) |
||
(11 intermediate revisions by 6 users 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 == |
||
− | # Check whether the package came with your Haskell implementation. |
||
+ | 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 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. |
||
+ | |||
+ | If you so wish, you can still install packages manually -- see the section below. |
||
== Installing packages manually == |
== Installing packages manually == |
||
# First, ensure that all the packages it depends on are installed (by following these instructions recursively). |
# First, ensure that all the packages it depends on are installed (by following these instructions recursively). |
||
− | # Unpack the tar file ( |
+ | # Unpack the tar file (Windows users: read [[How to unpack a tar file in Windows]] first): |
#:<code>tar xzf PACKAGE-VERSION.tar.gz</code> |
#:<code>tar xzf PACKAGE-VERSION.tar.gz</code> |
||
# 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/ |
+ | # In order to install a package globally, perform the following commands (see the [http://www.haskell.org/cabal/users-guide/ Cabal documentation] for more details): |
#:<code>runhaskell Setup configure</code> |
#:<code>runhaskell Setup configure</code> |
||
#:<code>runhaskell Setup build</code> |
#:<code>runhaskell Setup build</code> |
||
+ | #:On a Unix or Linux system: |
||
#:<code>sudo runhaskell Setup install</code> |
#:<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>runhaskell Setup configure --user --prefix=$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.) |
#: (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.) |
||
Line 27: | Line 33: | ||
#: <code>runhaskell Setup configure --with-compiler=ghc-6.8.2</code> |
#: <code>runhaskell Setup configure --with-compiler=ghc-6.8.2</code> |
||
#: <code>runhaskell Setup build</code> |
#: <code>runhaskell Setup build</code> |
||
+ | #: On a Unix or Linux system: |
||
#: <code>sudo runhaskell Setup install</code> |
#: <code>sudo runhaskell Setup install</code> |
||
+ | #: |
||
+ | #: Windows (login with administrator rights): |
||
+ | #: <code>runhaskell Setup install</code> |
Revision as of 02:04, 20 July 2017
There's an interesting Haskell package on 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 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.
Installing packages manually
- First, ensure that all the packages it depends on are installed (by following these instructions recursively).
- Unpack the tar file (Windows users: read How to unpack a tar file in Windows first):
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
- On a Unix or Linux system:
sudo runhaskell Setup install
- Windows (login with administrator rights):
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 (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/.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
- On a Unix or Linux system:
sudo runhaskell Setup install
- Windows (login with administrator rights):
runhaskell Setup install