Downloads for Linux

Package-based install

Ubuntu

Steps to setup ghc and cabal:

sudo apt-get update
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:hvr/ghc
sudo apt-get update
sudo apt-get install -y cabal-install-1.22 ghc-7.10.3
cat >> ~/.bashrc <<EOF
export PATH="\$HOME/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:\$PATH"
EOF
export PATH=~/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:$PATH

Steps to setup stack are on the stack website.

Debian (jessie)

Steps to setup ghc and cabal:

echo 'deb http://ftp.debian.org/debian/ jessie-backports main' | sudo tee /etc/apt/sources.list.d/backports.list
sudo apt-get update && sudo apt-get -t jessie-backports install ghc cabal-install
cabal update && echo export PATH='$HOME/.cabal/bin:$PATH' >> $HOME/.bashrc

Steps to setup stack are on the stack website.

Fedora

GHC and cabal-install are in the official Fedora repos, to install:

sudo dnf install ghc cabal-install
  • Fedora 26 has ghc-8.0.2 and cabal-install-1.24.0.2
  • Fedora 25 has ghc-7.10.3 and cabal-install-1.22.9.0
  • Fedora 24 has ghc-7.8.4 and cabal-install-1.18.1.0

There are also unofficial Fedora Copr ghc repos which include cabal-install:

(earlier 7.10.x and 8.0.1 coprs are also available).

Note ghc from Copr cannot be installed in parallel with official Fedora ghc packages.

Steps to setup stack are on the stack website. You can also obtain stack from the fedora petersen/stack Copr repo

EPEL for RHEL/CentOS/etc

  • EPEL 7 has ghc-7.6.3 and cabal-install-1.16.1.0
  • EPEL 5 and 6 have ghc-7.0.4 and cabal-install-0.10.2

To install these older versions of ghc and cabal-install from the official EPEL repo, just run the install command:

sudo yum install ghc cabal-install

For newer versions of ghc you can use the unofficial Fedora Copr repos:

Note the ghc packages from Copr cannot be installed in parallel with EPEL ghc.

Steps to setup stack are on the stack website. You can also obtain stack from the fedora petersen/stack Copr repo

Arch Linux

The official repos on Arch Linux contain packages ghc, cabal-install, happy, alex, haddock. Install them with:

sudo pacman -S ghc cabal-install happy alex haddock

Steps to setup stack are on the stack website.

Generic Tarballs

Generic minimal installers that work on most modern linux distributions are available via the Haskell Platform

Manual install

To install GHC and Cabal manually, follow these steps.

1. Install GHC

GHC has its own web site with license information, FAQ, download links and changelogs. Depending on your operating system, there should be a package made for its package manager, otherwise (e.g. Windows) it will be an installer.

You can also download the .tar.gz/.zip and unpack and install the executables and so forth manually.

Or you can even install from source, for which there is documentation.

Download GHC now →

2. Install Cabal-install

After installing GHC, you will want the Haskell package manager:

Get the Cabal archive →

Download the tar.gz file, extract and inside the resulting directory, run:

$ sh ./bootstrap.sh

This will automatically download and install all the packages necessary to setup Cabal install.

Once complete, you should add $HOME/.cabal/bin to your PATH. A simple way to do this is to edit your ~/.bashrc and place in there:

export PATH=$HOME/.cabal/bin:$PATH

Now you should be able to run cabal:

$ cabal --version
cabal-install version 1.18.0.2
using version 1.18.1.2 of the Cabal library

You can now update your package set:

$ cabal update

And install packages into a sandbox so it doesn't conflict with other projects:

$ mkdir my-project
$ cd my-project
$ cabal sandbox init
$ cabal install the-package-name

3. Installing Stack

Generic stack binary downloads are available from the stack website.