---
name: "cabal"
section: "1"
platform: "linux"
package: "cabal-install"
version: "3.10.3.0-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cabal"
---

# cabal(1)

manual page for cabal-install version 3.10.3.0

## NAME

cabal-install - manual page for cabal-install version 3.10.3.0

## SYNOPSIS

**cabal** \[*GLOBAL FLAGS*\] \[*COMMAND* \[*FLAGS*\]\]

## DESCRIPTION

Command line interface to the Haskell Cabal infrastructure.

See http://www.haskell.org/cabal/ for more information.

### Commands:

-

  \[global\]

- user-config

  Display and update the user's global cabal configuration.

- help

  Help about commands.

-

  \[package database\]

- update

  Updates list of known packages.

- list

  List packages matching a search string.

- info

  Display detailed information about a particular package.

-

  \[initialization and download\]

- init

  Create a new cabal package.

- fetch

  Downloads packages for later installation.

- get

  Download/Extract a package's source code (repository).

-

  \[project configuration\]

- configure

  Add extra project configuration.

- freeze

  Freeze dependencies.

- gen-bounds

  Generate dependency bounds.

- outdated

  Check for outdated dependencies.

-

  \[project building and installing\]

- build

  Compile targets within the project.

- install

  Install packages.

- haddock

  Build Haddock documentation.

- haddock-project

  Generate Haddocks HTML documentation for the cabal project.

- clean

  Clean the package store and remove temporary files.

-

  \[running and testing\]

- list-bin

  List the path to a single executable.

- repl

  Open an interactive session for the given component.

- run

  Run an executable.

- bench

  Run benchmarks.

- test

  Run test-suites.

- exec

  Give a command access to the store.

-

  \[sanity checks and shipping\]

- check

  Check the package for common mistakes.

- sdist

  Generate a source distribution file (.tar.gz).

- upload

  Uploads source packages or documentation to Hackage.

- report

  Upload build reports to a remote server.

-

  \[deprecated\]

- unpack

  Deprecated alias for 'get'.

- hscolour

  Generate HsColour colourised code, in HTML format.

-

  \[new-style projects (forwards-compatible aliases)\]

- v2-build

  Compile targets within the project.

- v2-configure

  Add extra project configuration.

- v2-repl

  Open an interactive session for the given component.

- v2-run

  Run an executable.

- v2-test

  Run test-suites.

- v2-bench

  Run benchmarks.

- v2-freeze

  Freeze dependencies.

- v2-haddock

  Build Haddock documentation.

- v2-exec

  Give a command access to the store.

- v2-update

  Updates list of known packages.

- v2-install

  Install packages.

- v2-clean

  Clean the package store and remove temporary files.

- v2-sdist

  Generate a source distribution file (.tar.gz).

-

  \[legacy command aliases\]

- v1-build

  Compile all/specific components.

- v1-configure

  Prepare to build the package.

- v1-repl

  Open an interpreter session for the given component.

- v1-run

  Builds and runs an executable.

- v1-test

  Run all/specific tests in the test suite.

- v1-bench

  Run all/specific benchmarks.

- v1-freeze

  Freeze dependencies.

- v1-haddock

  Generate Haddock HTML documentation.

- v1-install

  Install packages.

- v1-clean

  Clean up after a build.

- v1-copy

  Copy the files of all/specific components to install locations.

- v1-register

  Register this package with the compiler.

- v1-reconfigure

  Reconfigure the package if necessary.

-

  \[other\]

- haddock-project

  Generate Haddocks HTML documentation for the cabal project.

- new-haddock-project

  Generate Haddocks HTML documentation for the cabal project.

- v2-haddock-project

  Generate Haddocks HTML documentation for the cabal project.

### For more information about a command use:

-

  cabal COMMAND **--help**

or cabal help COMMAND

### To install Cabal packages from hackage use:

-

  cabal install foo \[--dry-run\]

### Occasionally you need to update the list of available packages:

-

  cabal update

### Global flags:

- **-h**, **--help**

  Show this help text

- **-V**, **--version**

  Print version information

- **--numeric-version**

  Print just the version number

- **--config-file**=*FILE*

  Set an alternate location for the config file

- **--ignore-expiry**

  Ignore expiry dates on signed metadata (use only in exceptional circumstances)

- **--http-transport**=*HttpTransport*

  Set a transport for http(s) requests. Accepts 'curl', 'wget', 'powershell', and 'plain-http'. (default: 'curl')

- **--nix\[=**(True or False)\]

  Nix integration: run commands through nix-shell if a 'shell.nix' file exists (default is False)

- **--enable-nix**

  Enable Nix integration: run commands through nix-shell if a 'shell.nix' file exists

- **--disable-nix**

  Disable Nix integration

- **--store-dir**=*DIR*

  The location of the build store

- **--active-repositories**=*REPOS*

  The active package repositories (set to ':none' to disable all repositories)

### You can edit the cabal configuration file to set defaults:

-

  /homedoesnotexistatbuildtime/.config/cabal/config

This file will be generated with sensible defaults if you run 'cabal update'.

compiled using version 3.10.3.0 of the Cabal library
