Difference between revisions of "Cabal/How to install a Cabal package"

From HaskellWiki
Jump to: navigation, search
m (How to install a Cabal package moved to Cabal/How to install a Cabal package)
(Remove outdated stuff)
 
(26 intermediate revisions by 18 users not shown)
Line 1: Line 1:
You've found an interesting Haskell package on [http://hackage.haskell.org/packages/archive/pkg-list.html HackageDB]. How do you install it on your system?
 
  +
[[Category:How to]]
   
# Check whether the package came with your Haskell implementation.
 
  +
There's an interesting Haskell package on [http://hackage.haskell.org/ Hackage] you'd like to try. How do you install it on your system?
# If [[:Category:OS|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. A program to automate this process, called [http://hackage.haskell.org/trac/hackage/wiki/CabalInstall ''cabal-install''], is under development. In the meantime, you'll have to do it manually:
 
  +
== Installing a library ==
## 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):
 
  +
While it is possible to "install" a library package "globally" it is most certainly a [https://en.wikipedia.org/wiki/Dependency_hell bad idea].
##:<code>tar xzf PACKAGE-VERSION.tar.gz</code>
 
  +
## Move into the directory this creates:
 
  +
You should use project environment and package dependencies.
##:<code>cd PACKAGE-VERSION</code>
 
  +
## This directory should contain a file <code>Setup.hs</code> or <code>Setup.lhs</code>. Execute the following commands for the appropriate file (see the [http://www.haskell.org/ghc/docs/latest/html/Cabal/builders.html Cabal documentation] for more details):
 
  +
Please read the instructions for your package tool on how to set things up:
##:<code>runghc Setup.hs configure</code>
 
  +
##:<code>runghc Setup.hs build</code>
 
  +
* https://cabal.readthedocs.io/en/3.4/getting-started.html
##:<code>runghc Setup.hs install</code>
 
  +
* https://docs.haskellstack.org/en/stable/README/#quick-start-guide
  +
  +
== Installing an executable ==
  +
  +
First, check your package site for binary releases. It may turn out you don't have to build anything.
  +
  +
If you have to build from source, clone a package repository and look for the project files it uses. Then build with the appropriate project tool.
  +
  +
You may want to tweak the project file to use different options or dependency sets.
  +
  +
You may now use executables right from their build environment or copy them to your search $PATH.

Latest revision as of 10:06, 10 March 2021


There's an interesting Haskell package on Hackage you'd like to try. How do you install it on your system?

Installing a library

While it is possible to "install" a library package "globally" it is most certainly a bad idea.

You should use project environment and package dependencies.

Please read the instructions for your package tool on how to set things up:

Installing an executable

First, check your package site for binary releases. It may turn out you don't have to build anything.

If you have to build from source, clone a package repository and look for the project files it uses. Then build with the appropriate project tool.

You may want to tweak the project file to use different options or dependency sets.

You may now use executables right from their build environment or copy them to your search $PATH.