Man page - cabal(1)

Packages contains this manual

Manual

CABAL-INSTALL

NAME
SYNOPSIS
DESCRIPTION
Commands:
For more information about a command use:
To install Cabal packages from hackage use:
Occasionally you need to update the list of available packages:
Global flags:
You can edit the cabal configuration file to set defaults:

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