OPAM-INIT(1)

NAME

opam-init - Initialize OPAM state.

SYNOPSIS

opam init [OPTION]... [NAME] [ADDRESS]

DESCRIPTION

The init command creates a fresh client state. This initializes OPAM configuration in ~/.opam and configures a default package repository.

Once the fresh client has been created, OPAM will ask the user if he wants ~/.profile (or i,~/.zshrc, depending on his shell) and ~/.ocamlinit to be updated. If --auto-setup is used, OPAM will modify the configuration files automatically, without asking the user. If --no-setup is used, OPAM will *NOT* modify anything outside of ~/.opam.

Additional repositories can be added later by using the opam repository command.

The state of repositories can be synchronized by using opam update.

The user and global configuration files can be setup later by using opam config setup.

ARGUMENTS

ADDRESS (absent=https://opam.ocaml.org)
    Address of the repository.

NAME (absent=default)
    Name of the repository.

OPTIONS

-a, --auto-setup
    Automatically setup all the global and user configuration options for OPAM.

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

--comp=VERSION (absent=system)
    Which compiler version to use.

--csh
    Use csh-compatible mode for configuring OPAM.

--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.

--dot-profile=FILENAME
    Name of the configuration file to update instead of ~/.profile or ~/.zshrc based on shell detection.

--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.

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

--fish
    Use fish-compatible mode for configuring OPAM.

-j JOBS, --jobs=JOBS
    Set the maximal number of concurrent jobs to use. You can also set it using the OPAMJOBS environment variable.

-j JOBS, --jobs=JOBS (absent=1)
    Number of jobs to use when building packages.

--json=FILENAME
    Save the result output of an OPAM run in a computer-readable file

-k KIND, --kind=KIND
    Specify the kind of the repository to be set (the main ones are 'http', 'local', 'git', 'darcs' or 'hg').

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

-n, --no-setup
    Do not update the global and user configuration options to setup OPAM.

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

--sh
    Use sh-compatible mode for configuring OPAM.

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

--zsh
    Use zsh-compatible mode for configuring OPAM.

COMMON OPTIONS

These options are common to all commands.

--color=WHEN (absent=auto)
    Colorize the output. WHEN must be `always', `never' or `auto'.

--compat-mode-1.0
    Compatibility mode with OPAM 1.0

--debug
    Print debug message on stdout. This is equivalent to setting $OPAMDEBUG to a non-empty value.

--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-aspcud
    Do not use the external aspcud solver, even if available.

--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=~/.opam)
    Use ROOT as the current root path. This is equivalent to setting $OPAMROOT to ROOT.

--strict
    Fail whenever an error is found in a package definition or a configuration file. The default is to continue silently if possible.

--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 $OPAMVERBOSE to a non-empty value.

--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.

ENVIRONMENT VARIABLES

opam makes use of environment variables listed here.

OPAMCOLOR, when set to always or never, sets a default value for the --color option

OPAMCURL can be used to define an alternative for the 'curl' command-line utility to download files

FURTHER DOCUMENTATION

See https://opam.ocaml.org.

AUTHORS

Thomas Gazagnaire <thomas@gazagnaire.org>

Anil Madhavapeddy <anil@recoil.org>

Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr>

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

Louis Gesbert <louis.gesbert@ocamlpro.com>

Vincent Bernardoff <vb@luminar.eu.org>

Guillem Rieu <guillem.rieu@ocamlpro.com>

BUGS

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