Scroll to navigation

CABAL-INSTALL(1) User Commands CABAL-INSTALL(1)

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]
Display and update the user's global cabal configuration.
Help about commands.
[package database]
Updates list of known packages.
List packages matching a search string.
Display detailed information about a particular package.
[initialization and download]
Create a new cabal package.
Downloads packages for later installation.
Download/Extract a package's source code (repository).
[project configuration]
Add extra project configuration.
Freeze dependencies.
Generate dependency bounds.
Check for outdated dependencies.
[project building and installing]
Compile targets within the project.
Install packages.
Build Haddock documentation.
haddock-project
Generate Haddocks HTML documentation for the cabal project.
Clean the package store and remove temporary files.
[running and testing]
list-bin
List the path to a single executable.
Open an interactive session for the given component.
Run an executable.
Run benchmarks.
Run test-suites.
Give a command access to the store.
[sanity checks and shipping]
Check the package for common mistakes.
Generate a source distribution file (.tar.gz).
Uploads source packages or documentation to Hackage.
Upload build reports to a remote server.
[deprecated]
Deprecated alias for 'get'.
Generate HsColour colourised code, in HTML format.
[new-style projects (forwards-compatible aliases)]
Compile targets within the project.
Add extra project configuration.
Open an interactive session for the given component.
Run an executable.
Run test-suites.
Run benchmarks.
Freeze dependencies.
Build Haddock documentation.
Give a command access to the store.
Updates list of known packages.
Install packages.
Clean the package store and remove temporary files.
Generate a source distribution file (.tar.gz).
[legacy command aliases]
Compile all/specific components.
Prepare to build the package.
Open an interpreter session for the given component.
Builds and runs an executable.
Run all/specific tests in the test suite.
Run all/specific benchmarks.
Freeze dependencies.
Generate Haddock HTML documentation.
Install packages.
Clean up after a build.
Copy the files of all/specific components to install locations.
Register this package with the compiler.
Reconfigure the package if necessary.
[other]
haddock-project
Generate Haddocks HTML documentation for the cabal project.
Generate Haddocks HTML documentation for the cabal 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:

Show this help text
Print version information
Print just the version number
Set an alternate location for the config file
Ignore expiry dates on signed metadata (use only in exceptional circumstances)
Set a transport for http(s) requests. Accepts 'curl', 'wget', 'powershell', and 'plain-http'. (default: 'curl')
Nix integration: run commands through nix-shell if a 'shell.nix' file exists (default is False)
Enable Nix integration: run commands through nix-shell if a 'shell.nix' file exists
Disable Nix integration
The location of the build store
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

October 2024 cabal-install version 3.10.3.0