ghc-pkg-8.0.2 --version (return code: 0)
GHC package manager version 8.0.2
ghc-pkg-8.0.2 --help (return code: 0)
Usage:
ghc-pkg init {path}
Create and initialise a package database at the location {path}.
Packages can be registered in the new database using the register
command with --package-db={path}. To use the new database with GHC,
use GHC's -package-db flag.
ghc-pkg register {filename | -}
Register the package using the specified installed package
description. The syntax for the latter is given in the ghc-pkg
documentation. The input file should be encoded in UTF-8.
ghc-pkg update {filename | -}
Register the package, overwriting any other package with the
same name. The input file should be encoded in UTF-8.
ghc-pkg unregister {pkg-id}
Unregister the specified package.
ghc-pkg expose {pkg-id}
Expose the specified package.
ghc-pkg hide {pkg-id}
Hide the specified package.
ghc-pkg trust {pkg-id}
Trust the specified package.
ghc-pkg distrust {pkg-id}
Distrust the specified package.
ghc-pkg list [pkg]
List registered packages in the global database, and also the
user database if --user is given. If a package name is given
all the registered versions will be listed in ascending order.
Accepts the --simple-output flag.
ghc-pkg dot
Generate a graph of the package dependencies in a form suitable
for input for the graphviz tools. For example, to generate a PDF of the dependency graph: ghc-pkg dot | tred | dot -Tpdf >pkgs.pdf
ghc-pkg find-module {module}
List registered packages exposing module {module} in the global
database, and also the user database if --user is given.
All the registered versions will be listed in ascending order.
Accepts the --simple-output flag.
ghc-pkg latest {pkg-id}
Prints the highest registered version of a package.
ghc-pkg check
Check the consistency of package dependencies and list broken packages.
Accepts the --simple-output flag.
ghc-pkg describe {pkg}
Give the registered description for the specified package. The
description is returned in precisely the syntax required by ghc-pkg
register.
ghc-pkg field {pkg} {field}
Extract the specified field of the package description for the
specified package. Accepts comma-separated multiple fields.
ghc-pkg dump
Dump the registered description for every package. This is like
"ghc-pkg describe '*'", except that it is intended to be used
by tools that parse the results, rather than humans. The output is
always encoded in UTF-8, regardless of the current locale.
ghc-pkg recache
Regenerate the package database cache. This command should only be
necessary if you added a package to the database by dropping a file
into the database directory manually. By default, the global DB
is recached; to recache a different DB use --user or --package-db
as appropriate.
Substring matching is supported for {module} in find-module and
for {pkg} in list, describe, and field, where a '*' indicates
open substring ends (prefix*, *suffix, *infix*). Use --ipid to
match against the installed package ID instead.
When asked to modify a database (register, unregister, update,
hide, expose, and also check), ghc-pkg modifies the global database by
default. Specifying --user causes it to act on the user database,
or --package-db can be used to act on another database
entirely. When multiple of these options are given, the rightmost
one is used as the database to act upon.
Commands that query the package database (list, tree, latest, describe,
field) operate on the list of databases specified by the flags
--user, --global, and --package-db. If none of these flags are
given, the default is --global --user.
The following optional flags are also accepted:
--user use the current user's package database
--global use the global package database
-f FILE/DIR --package-db=FILE/DIR use the specified package database
--package-conf=FILE/DIR use the specified package database (DEPRECATED)
--global-package-db=DIR location of the global package database
--no-user-package-db never read the user package database
--user-package-db=DIR location of the user package database (use instead of default)
--no-user-package-conf never read the user package database (DEPRECATED)
--force ignore missing dependencies, directories, and libraries
--force-files ignore missing directories and libraries only
--enable-multi-instance allow registering multiple instances of the same package version
--expand-env-vars expand environment variables (${name}-style) in input package descriptions
--expand-pkgroot expand ${pkgroot}-relative paths to absolute in output package descriptions
--no-expand-pkgroot preserve ${pkgroot}-relative paths in output package descriptions
-? --help display this help and exit
-V --version output version information and exit
--simple-output print output in easy-to-parse format for some commands
--names-only only print package names, not versions; can only be used with list --simple-output
--ignore-case ignore case for substring matching
--ipid, --unit-id interpret package arguments as unit IDs (e.g. installed package IDs)
-v[Verbosity] --verbose[=Verbosity] verbosity level (0-2, default 1)