OPAM-SWITCH(1)

NAME

opam-switch - Manage multiple installation of compilers.

SYNOPSIS

opam switch [OPTION]... [COMMAND] [ARG]...

DESCRIPTION

This command allows to switch between different compiler versions, installing the compiler if opam switch is used to switch to that compiler for the first time. The different compiler versions are totally independant from each other, meaning that OPAM maintains a separate state (e.g. list of installed packages...) for each.

See the documentation of opam switch list to see the compilers which are available, and how to switch or to install a new one.

ARGUMENTS

COMMAND
    Name of the sub-command. See the COMMANDS section for more info. If a compiler switch is given instead of an usual command, this command will switch to the given compiler. You will then need to run eval `opam config env` to update your environment variables.

OPTIONS

-a COMP, --alias-of=COMP
    The name of the compiler description which will be aliased.

-b, --keep-build-dir
    Keep the build directory. This is equivalent to setting $OPAMKEEPBUILDIR to a non-empty string.

--cudf=FILENAME
    Save the CUDF request sent to the solver to FILENAME-<n>.cudf.

-d, --build-doc
    Build the package documentation. This is equivalent to setting $OPAMBUILDDOC to a non-empty string.

--dry-run
    Simply call the solver without actually performing any build/install operations.

-e TAGS, --external=TAGS
    Display the external packages associated to the given tags.

-f FILENAME, --filename=FILENAME
    The name of the file to export to/import from.

--fake
    WARNING: This option is fo testing purposes only! Using this option without care is the best way to corrupt your current compiler environement. When using this option OPAM will run a dry-run of the solver and then fake the build and install commands

-i, --installed
    List installed packages only.

-m MAKE, --make=MAKE
    Use MAKE as the default 'make' command.

-n, --no-checksums
    Do not verify the checksum of downloaded archives.This is equivalent to setting $OPAMNOCHECKSUMS to a non-empty string.

--no-warning
    Do not display any warning related to environment variables.

-s, --short
    Output the names separated by one whitespace instead of using the usual formatting.

-t, --build-test
    Build and run the package unit-tests. This is equivalent to setting $OPAMBUILDTEST to a non-empty string.

COMMANDS

install
    Install the given compiler. The commands fails if the package is already installed (e.g. it will not transparently switch to the installed compiler switch, as opam switch <name> does).

remove
    Remove the given compiler.

export
    Export the list installed package to a file.

import
    Install the packages from a file.

reinstall
    Reinstall the given compiler switch. This will also try reinstall the installed packages.

list
    List the available compilers. The first column displays the switch name (if any), the second one the switch state (C = current, I = installed, -- = not installed), the third one the compiler name and the last one the compiler description. To switch to an already installed compiler alias (with state = I), use opam switch <name>. If you want to use a new compiler <comp>, use opam switch <comp>: this will download, compile and create a fresh and independant environment where new packages can be installed. If you want to create a new compiler alias (for instance because you already have this compiler version installed), use opam switch <name> --alias-of <comp>. In case <name> and <comp> are the same, this is equivalent to opam switch <comp>.

show
    Show the current compiler.

COMMON OPTIONS

These options are common to all commands.

--debug
    Print debug message on stdout. This is equivalent to setting $OPAMDEBUG to a value greater or equal to 2.

--git-version
    Print the git version if it exists and exit.

--help[=FMT] (default=pager)
    Show this help in format FMT (pager, plain or groff).

--no-base-packages
    Do not install base packages (useful for testing purposes). This is equivalent to setting $OPAMNOBASEPACKAGES to a non-empty string.

-q, --quiet
    Be quiet when installing a new compiler.

-r ROOT, --root=ROOT (absent=/Users/tgazagna/.opam)
    Use ROOT as the current root path. This is equivalent to setting $OPAMROOT to ROOT.

--switch=SWITCH
    Use SWITCH as the current compiler switch. This is equivalent to setting $OPAMSWITCH to SWITCH.

-v, --verbose
    Be more verbose. This is equivalent to setting either $OPAMDEBUG to a value greater or equal to 1 or $OPAMVERBOSE to a non-empty string.

--version
    Show version information.

-y, --yes
    Disable interactive mode and answer yes to all questions that would otherwise be asked to the user. This is equivalent to setting $OPAMYES to a non-empty string.

FURTHER DOCUMENTATION

See http://opam.ocamlpro.com.

AUTHORS

Thomas Gazagnaire <thomas.gazagnaire@ocamlpro.com>

Frederic Tuong <tuong@users.gforge.inria.fr>

Vincent Bernardoff <vb@luminar.eu.org>

Guillem Rieu <guillem.rieu@ocamlpro.com>

BUGS

Check bug reports at https://github.com/OCamlPro/opam/issues.