OnWorks favicon

ghc-pkg - Online in the Cloud

Run ghc-pkg in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command ghc-pkg that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



ghc-pkg - GHC Haskell Cabal package manager


ghc-pkg action [OPTION]...


A package is a library of Haskell modules known to the compiler. The ghc-pkg tool allows
adding or removing them from a package database. By default, the system-wide package
database is modified, but alternatively the user's local package database or another
specified file can be used.

To make a package available for ghc, ghc-pkg can be used to register it. Unregistering it
removes it from the database. Also, packages can be hidden, to make ghc ignore the
package by default, without uninstalling it. Exposing a package makes a hidden package
available. Additionally, ghc-pkg has various commands to query the package database.

Where a package name is required, the package can be named in full including the version
number (e.g. network-1.0), or without the version number. Naming a package without the
version number matches all versions of the package; the specified action will be applied
to all the matching packages. A package specifier that matches all version of the package
can also be written pkg-*, to make it clearer that multiple packages are being matched.


register filename|-
Register the package using the specified installed package description.

update filename|-
Register the package, overwriting any other package with the same name.

unregister pkg-id
Unregister the specified package.

expose pkg-id
Expose the specified package.

hide pkg-id
Hide the specified package

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.

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:
dot tred dot -Tpdf >pkgs.pdf

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.

latest pkg-id
Prints the highest registered version of a package.

check Check the consistency of package dependencies and list broken packages. Accepts
the --simple-output flag.

describe pkg
Give the registered description for the specified package. The description is
returned in precisely the syntax required by ghc-pkg register.

field pkg field
Extract the specified field of the package description for the specified package.
Accepts comma-separated multiple fields.

dump Dump the registered description for every package. This is like ghc-
pkg describe '*', expect that it is intended to be used by tools that parse the
results, rather than humans.

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
manyally. By default, the global DB is recached; to recache a different DB use
--user or --package-conf as appropriate.


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-conf 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, latest, describe, field) operate on the
list of databases specified by the flags --user, --global, and --package-conf. If none of
these flags are given, the default is --global --user.

--user Use the current user's package database.

Use the global package database.

-f FILE, --package-conf=FILE
Use the specified package config file.

Location of the global package config.

Ignore missing dependencies, directories, and libraries.

Ignore missing directories and libraries only.

-g, --auto-ghc-libs
Automatically build libs for GHCi (with register).

-?, --help
Display a help message and exit.

-V, --version
Output version information and exit.

Print output in easy-to-parse format for some commands.

Only print package names, not versions; can only be used with list --simple-output.

Ignore case for substring matching.


The GHC_PACKAGE_PATH environment variable may be set to a :-separated list of files
containing package databases. This list of package databases is used by ghc and
ghc-pkg, with earlier databases in the list overriding later ones. This order was
chosen to match the behaviour of the PATH environment variable; think of it as a
list of package databases that are searched left-to-right for packages.

If GHC_PACKAGE_PATH ends in a separator, then the default user and system package
databases are appended, in that order. e.g. to augment the usual set of packages
with a database of your own, you could say:

export GHC_PACKAGE_PATH=$HOME/.my-ghc-packages.conf:

To check whether your GHC_PACKAGE_PATH setting is doing the right thing, ghc-pkg
list will list all the databases in use, in the reverse order they are searched.

Use ghc-pkg online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    TurkDevOps a�?k kaynak yaz?l?m
    geli?tirici topluluklar? DevTurks-Team
    Taraf?ndan desteklenmektedir..
    Download turkdevops
  • 2
    *asammdf* is a fast Python parser and
    editor for ASAM (Associtation for
    Standardisation of Automation and
    Measuring Systems) MDF / MF4
    (Measurement Data Format...
    Download asammdf
  • 3
    LAME (Lame Aint an MP3 Encoder)
    LAME (Lame Aint an MP3 Encoder)
    LAME is an educational tool to be used
    for learning about MP3 encoding. The
    goal of the LAME project is to improve
    the psycho acoustics, quality and speed
    of MP...
    Download LAME (Lame Aint an MP3 Encoder)
  • 4
    A set of Python extension modules that
    wrap the cross-platform GUI classes from
    wxWidgets.. Audience: Developers. User
    interface: X Window System (X11), Win32 ...
    Download wxPython
  • 5
    This is the Total War pack file manager
    project, starting from version 1.7. A
    short introduction into Warscape
    modding: ...
    Download packfilemanager
  • 6
    A network traffic tool for measuring
    TCP and UDP performance with metrics
    around both throughput and latency. The
    goals include maintaining an active
    iperf cod...
    Download IPerf2
  • More »

Linux commands