Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
OPAM-INIT(1)			  Opam Manual			  OPAM-INIT(1)

NAME
       opam-init - Initialize opam state, or set init options.

SYNOPSIS
       opam init [OPTION] [NAME] [ADDRESS]

DESCRIPTION
       Initialise the opam state, or update opam init options

       The init	command	initialises a local "opam root"	(by default, ~/.opam/)
       that holds opam's data and packages. This is a necessary	step for
       normal operation	of opam. The initial software repositories are
       fetched,	and an initial 'switch'	can also be installed, according to
       the configuration and options. These can	be afterwards configured using
       opam switch and opam repository.

       The initial repository and defaults can be set through a	configuration
       file found at ~/.opamrc or /etc/opamrc.

       Additionally, this command allows one to	customise some aspects of
       opam's shell integration, when run initially (avoiding the interactive
       dialog),	but also at any	later time.

ARGUMENTS
       ADDRESS
	   Address of the initial package repository, when creating a new opam
	   root.

       NAME (absent=default)
	   Name	of the initial repository, when	creating a new opam root.

OPTIONS
       -a, --auto-setup
	   Automatically  do  a	 full  setup,  including adding	a line to your
	   shell init files.

       --bare
	   Initialise the opam state, but don't	setup any compiler switch yet.

       --bypass-checks
	   Skip	checks on required or recommended tools, and assume everything
	   is fine

       -c PACKAGE, --compiler=PACKAGE
	   Set the compiler to install (when creating an initial switch)

       --config=FILE
	   Use the given init config file. If repeated,	latest has the highest
	   priority (i.e. each field gets its value from where it was  defined
	   last).  Specifying  a  URL  pointing	 to  a	config file instead is
	   allowed.

       --cygwin-extra-packages=CYGWIN_PACKAGES
	   Windows only	(Experimental).	Specify	additional packages to install
	   with	--cygwin-internal-install

       --cygwin-internal-install
	   Windows only	(Experimental).	Let opam setup and manage an  internal
	   Cygwin install (recommended)

       --cygwin-local-install
	   Windows only	(Experimental).	Use preexistent	Cygwin install

       --cygwin-location=DIR
	   Windows only	(Experimental).	Specify	Cygwin root location

       --disable-completion
	   Disable shell completion in opam init scripts.

       --disable-sandboxing
	   Use	a  default  configuration  with	sandboxing disabled (note that
	   this	may be overridden by `opamrc' if --no-opamrc is	not  specified
	   or --config is used). Use this at your own risk, without sandboxing
	   it  is  possible  for  a  broken  package script to delete all your
	   files.

       --disable-shell-hook
	   Disable registration	of a shell hook	in opam	init scripts.

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

       --enable-completion
	   Setup shell completion in opam init scripts,	for supported shells.

       --enable-shell-hook
	   Setup  opam	init  scripts  to  register  a	shell  hook  that will
	   automatically  keep	the  shell  environment	 up-to-date  at	 every
	   prompt.

       --git-location=DIR
	   Windows  only  (Experimental). Specify git binary directory.	Ensure
	   that	it doesn't contains bash in the	same directory

       -i, --interactive
	   Run the setup interactively (this is	the  default  for  an  initial
	   run,	or when	no more	specific options are specified)

       -k KIND,	--kind=KIND
	   Specify  the	kind of	the repository to be used (one of http,	local,
	   git,	darcs or hg).

       -n, --no-setup
	   Do not update the user shell	 configuration	to  setup  opam.  Also
	   implies  --disable-shell-hook,  unless  --interactive  or specified
	   otherwise

       --no-cygwin-setup
	   Experimental. Don't setup Cygwin

       --no-git-location
	   Experimental.  Don't	 specify  nor  ask  to	specify	  git	binary
	   directory.

       --no-opamrc
	   Don't  read	`/etc/opamrc' or `~/.opamrc': use the default settings
	   and the files specified through --config only

       --reinit
	   Re-run the initial checks and setup,	according to opamrc,  even  if
	   this	is not a new opam root

       --shell=SHELL
	   Sets	 the  configuration  mode for opam environment appropriate for
	   SHELL. One of one of	 bash,	sh,  csh,  zsh,	 fish,	pwsh,  cmd  or
	   powershell.	Guessed	 from  the  parent  processes  and  the	$SHELL
	   variable by default.

       --shell-setup
	   Automatically setup the user	shell  configuration  for  opam,  e.g.
	   adding a line to the	`~/.profile' file.

       --show-default-opamrc
	   Print the built-in default configuration to stdout and exit

CONFIGURATION FILE
       Any  field  from	 the  built-in initial configuration can be overridden
       through ~/.opamrc, /etc/opamrc, or a file supplied with	--config.  The
       default	configuration  for  this version of opam can be	obtained using
       --show-default-opamrc.

PACKAGE	BUILD OPTIONS
       --assume-depexts
	   Skip	the installation step for any  missing	system	packages,  and
	   attempt to proceed with compilation of the opam packages anyway. If
	   the installation is successful, opam	won't prompt again about these
	   system packages. Only meaningful if external	dependency handling is
	   enabled.

       -b, --keep-build-dir
	   Keep	 the  build  directories  after	 compiling  packages.  This is
	   equivalent to setting $OPAMKEEPBUILDDIR to "true".

       --build-doc
	   Removed in 2.1, use --with-doc instead.

       --build-test
	   Removed in 2.1, use --with-test instead.

       -d, --with-doc
	   Build the package documentation. This only affects packages	listed
	   on the command-line.	This is	equivalent to setting $OPAMWITHDOC (or
	   the deprecated $OPAMBUILDDOC) to "true".

       --dry-run
	   Simulate  the command, but don't actually perform any changes. This
	   also	can be set with	environment variable $OPAMDEBUG.

       --fake
	   This	option registers the actions into the opam  database,  without
	   actually  performing	 them.	WARNING:  This option is dangerous and
	   likely to break your	opam environment. You probably want --dry-run.
	   You've been warned.

       --ignore-constraints-on[=PACKAGES] (default=)
	   Forces opam to ignore version constraints on	 all  dependencies  to
	   the	listed	packages.  This	can be used to test compatibility, but
	   expect builds to break when using this. Note	that  availability  of
	   the	 packages   as	 well	as  version  constraints  on  optional
	   dependencies	and conflicts are unaffected. This  is	equivalent  to
	   setting $OPAMIGNORECONSTRAINTS.

       --inplace-build
	   When	 compiling  a  package	which  has its source bound to a local
	   directory, process the build	and install actions directly  in  that
	   directory,  rather  than in a clean copy handled by opam. This only
	   affects packages that are explicitly	listed	on  the	 command-line.
	   This	is equivalent to setting $OPAMINPLACEBUILD to "true".

       -j JOBS,	--jobs=JOBS
	   Set the maximal number of concurrent	jobs to	use. The default value
	   is  calculated  from	the number of cores. You can also set it using
	   the $OPAMJOBS environment variable.

       --lock-suffix=SUFFIX (absent=locked)
	   Set locked files suffix to SUFFIX.

       --locked
	   In commands that use	opam files found from  pinned  sources,	 if  a
	   variant  of the file	with an	added .locked extension	is found (e.g.
	   foo.opam.locked besides foo.opam), that will	be used	instead.  This
	   is  typically  useful  to offer a more specific set of dependencies
	   and	reproduce  similar  build  contexts,  hence  the   name.   The
	   lockoption  can  be	used  to  generate  such  files,  based	on the
	   versions of the dependencies	currently installed on the host.  This
	   is equivalent to setting the	$OPAMLOCKED environment	variable. Note
	   that	this option doesn't generally affect already pinned packages.

       -m MAKE,	--make=MAKE
	   Removed in 2.1, use opam config set[-global]	make MAKE instead.

       --no-checksums
	   Do	not   verify  the  checksum  of	 downloaded  archives.This  is
	   equivalent to setting $OPAMNOCHECKSUMS to "true".

       --no-depexts
	   Temporarily disables	handling of external dependencies. This	can be
	   used	if a package is	not available on your system package  manager,
	   but	 you  installed	 the  required	dependency  by	hand.  Implies
	   --assume-depexts, and stores	the exceptions upon success as well.

       --require-checksums
	   Reject the installation of packages that don't provide  a  checksum
	   for	 the   upstream	  archives.  This  is  equivalent  to  setting
	   $OPAMREQUIRECHECKSUMS to "true".

       --reuse-build-dir
	   Reuse existing build	directories (kept by using  --keep-build-dir),
	   instead  of compiling from a	fresh clone of the source. This	can be
	   faster, but also lead to failures  if  the  build  systems  of  the
	   packages  don't  handle  upgrades  of  dependencies	well.  This is
	   equivalent to setting $OPAMREUSEBUILDDIR to "true".

       --show-actions
	   Call	the solver and display the actions. Don't perform any changes.
	   This	is equivalent to setting $OPAMSHOW.

       --skip-updates
	   When	running	an install,  upgrade  or  reinstall  on	 source-pinned
	   packages,  they  are	normally updated from their origin first. This
	   flag	disables that behaviour	and will keep them to their version in
	   cache. This is equivalent to	setting	$OPAMSKIPUPDATE.

       -t, --with-test
	   Build and run the package unit-tests. This  only  affects  packages
	   listed   on	 the  command-line.  This  is  equivalent  to  setting
	   $OPAMWITHTEST (or the deprecated $OPAMBUILDTEST) to "true".

       --unlock-base
	   Removed in 2.1, use --update-invariant instead.

       --update-invariant
	   Allow changes to the	packages set as	switch	base  (typically,  the
	   main	compiler). Use with caution. This is equivalent	to setting the
	   $OPAMUNLOCKBASE environment variable

       --verbose-on=PACKAGES
	   Be  more verbose on specific	packages.This is equivalent to setting
	   $OPAMVERBOSE.

       --with-dev-setup
	   Include development tools only dependencies.

COMMON OPTIONS
       These options are common	to all commands.

       --best-effort
	   Don't fail if all requested packages	can't  be  installed:  try  to
	   install as many as possible.	Note that not all external solvers may
	   support  this  option  (recent  versions of aspcud or mccs should).
	   This	is equivalent to setting $OPAMBESTEFFORT environment variable.

       --cli=MAJOR.MINOR (absent=2.3)
	   Use the command-line	interface syntax and semantics of MAJOR.MINOR.
	   Intended for	any persistent	use  of	 opam  (scripts,  blog	posts,
	   etc.),  any version of opam in the same MAJOR series	will behave as
	   for the specified MINOR release. The	flag was not available in opam
	   2.0,	so to select the 2.0 CLI, set the OPAMCLI environment variable
	   to 2.0 instead of using this	parameter.

       --color=WHEN
	   Colorize the	output.	WHEN must be one of always, never or auto.

       --confirm-level=LEVEL
	   Confirmation	 level,	 LEVEL	must  be  one  of  ask,	 no,  yes   or
	   unsafe-yes.	Can  be	specified more than once. If --yes or --no are
	   also	given, the value of the	last  --confirm-level  is  taken  into
	   account. This is equivalent to setting  $OPAMCONFIRMLEVEL`.

       --criteria=CRITERIA
	   Specify  user  preferences  for  dependency	solving	 for this run.
	   Overrides	   $OPAMCRITERIA,	 $OPAMFIXUPCRITERIA	   and
	   $OPAMUPGRADECRITERIA.  For  details	on the supported language, and
	   the	       external		solvers		available,	   see
	   http://opam.ocaml.org/doc/External_solvers.html. A general guide to
	   using      solver	  preferences	   can	   be	  found	    at
	   http://www.dicosmo.org/Articles/usercriteria.pdf.

       --cudf=FILENAME
	   Debug option:  Save	the  CUDF  requests  sent  to  the  solver  to
	   FILENAME-<n>.cudf  where  <n> is the	n-th call to the solver	during
	   the opam run.

       --debug
	   Print debug message	to  stderr.  This  is  equivalent  to  setting
	   $OPAMDEBUG to "true".

       --debug-level=LEVEL
	   Like	 --debug,  but allows specifying the debug level (--debug sets
	   it to 1). Equivalent	to setting $OPAMDEBUG to a positive integer.

       --git-version
	   Print the git version of  opam,  if	set  (i.e.  you	 are  using  a
	   development version), and exit.

       --help[=FMT] (default=auto)
	   Show	 this  help  in	format FMT. The	value FMT must be one of auto,
	   pager, groff	or plain. With auto, the  format  is  pager  or	 plain
	   whenever the	TERM env var is	dumb or	undefined.

       --ignore-pin-depends
	   Ignore  extra  pins	required  by  packages that get	pinned,	either
	   manually through opam pin or	through	 opam  install	DIR.  This  is
	   equivalent to setting IGNOREPINDEPENDS=true.

       --json=FILENAME
	   Save	 the  results  of the opam run in a computer-readable file. If
	   the filename	contains the character `%', it will be replaced	by  an
	   index  that	doesn't	overwrite an existing file. Similar to setting
	   the $OPAMJSON variable.

       --no
	   Answer no to	all opam yes/no	questions without prompting. See  also
	   --confirm-level. This is equivalent to setting $OPAMNO to "true".

       --no-aspcud
	   Removed in 2.1.

       --no-auto-upgrade
	   When	 configuring  or  updating a repository	that is	written	for an
	   earlier opam	version	(1.2), opam  internally	 converts  it  to  the
	   current   format.   This   disables	 this	behaviour.  Note  that
	   repositories	should define their format version in a	'repo' file at
	   their root, or they will be assumed to be in	the older  format.  It
	   is,	in  any	 case, preferable to upgrade the repositories manually
	   using opam admin upgrade [--mirror URL] when	possible.

       --no-self-upgrade
	   Opam	will replace itself with a newer binary	found at OPAMROOT/opam
	   if present. This disables this behaviour.

       -q, --quiet
	   Disables --verbose.

       --root=ROOT
	   Use ROOT as the current root	path. This is  equivalent  to  setting
	   $OPAMROOT to	ROOT.

       --safe, --readonly
	   Make	 sure  nothing	will  be  automatically	 updated or rewritten.
	   Useful for calling from completion scripts, for example. Will  fail
	   whenever  such  an  operation  is  needed ; also avoids waiting for
	   locks, skips	interactive questions  and  overrides  the  $OPAMDEBUG
	   variable. This is equivalent	to set environment variable $OPAMSAFE.

       --solver=CMD
	   Specify  the	 CUDF solver to	use for	resolving package installation
	   problems. This is either a predefined solver	(this version of  opam
	   supports	       builtin-mccs+lp(),	    builtin-mccs+glpk,
	   builtin-dummy-z3-solver,    builtin-0install,     aspcud,	 mccs,
	   aspcud-old,	packup),  or  a	custom command that should contain the
	   variables  %{input}%,  %{output}%,  %{criteria}%,  and   optionally
	   %{timeout}%.	This is	equivalent to setting $OPAMEXTERNALSOLVER.

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

       --use-internal-solver
	   Disable any	external  solver,  and	use  the  built-in  one	 (this
	   requires  that opam has been	compiled with a	built-in solver). This
	   is equivalent to setting $OPAMNOASPCUD or $OPAMUSEINTERNALSOLVER.

       -v, --verbose
	   Be more verbose. One	-v shows all package commands, repeat to  also
	   display  commands  called  internally  (e.g.	tar, curl, patch etc.)
	   Repeating n times is	equivalent to setting $OPAMVERBOSE to "n".

       --version
	   Show	version	information.

       -w, --working-dir
	   Whenever  updating  packages	  that	 are   bound   to   a	local,
	   version-controlled  directory,  update to the current working state
	   of their source instead of the last committed  state,  or  the  ref
	   they	are pointing to. As source directory is	copied as it is, if it
	   isn't  clean	 it  may  result  on  a	 opam build failure. This only
	   affects packages explicitly listed on the command-line. It can also
	   be set with $OPAMWORKINGDIR.

       -y, --yes
	   Answer yes to all opam yes/no questions without prompting. See also
	   --confirm-level. This is equivalent to setting $OPAMYES to "true".

ENVIRONMENT
       Opam makes use  of  the	environment  variables	listed	here.  Boolean
       variables  should  be  set to "0", "no",	"false"	or the empty string to
       disable,	"1", "yes" or "true" to	enable.

       OPAMALLPARENS surround all filters with parenthesis.

       OPAMASSUMEDEPEXTS see option `--assume-depexts'.

       OPAMAUTOREMOVE see remove option	`--auto-remove'.

       OPAMBESTEFFORT see option `--best-effort'.

       OPAMBESTEFFORTPREFIXCRITERIA sets the string that must be prepended  to
       the criteria when the `--best-effort' option is set, and	is expected to
       maximise	the `opam-query' property in the solution.

       OPAMBUILDDOC Removed in 2.1.

       OPAMBUILDTEST Removed in	2.1.

       OPAMCLI see option `--cli'.

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

       OPAMCONFIRMLEVEL	see  option  `--confirm-level`.	 OPAMCONFIRMLEVEL  has
       priority	over OPAMYES and OPAMNO.

       OPAMCRITERIA  specifies	user  preferences  for dependency solving. The
       default value depends on	the solver version,  use  `config  report'  to
       know the	current	setting. See also option --criteria.

       OPAMCUDFFILE save the cudf graph	to file-actions-explicit.dot.

       OPAMCUDFTRIM  controls  the filtering of	unrelated packages during CUDF
       preprocessing.

       OPAMCURL	can be used to select a	given 'curl'  program.	See  OPAMFETCH
       for more	options.

       OPAMDEBUG see options `--debug' and `--debug-level'.

       OPAMDEBUGSECTIONS  if set, limits debug messages	to the space-separated
       list of sections. Sections can optionally have a	specific  debug	 level
       (for   example,	 CLIENT:2   or	 CLIENT	 CUDF:2),  but	otherwise  use
       `--debug-level'.

       OPAMDIGDEPTH defines how	aggressive the	lookup	for  conflicts	during
       CUDF preprocessing is.

       OPAMDOWNLOADJOBS	sets the maximum number	of simultaneous	downloads.

       OPAMDROPWORKINGDIR   overrides	packages   previously	updated	  with
       --working-dir on	update.	Without	this variable  set,  opam  would  keep
       them unchanged unless explicitly	named on the command-line.

       OPAMDRYRUN see option `--dry-run'.

       OPAMEDITOR  sets	 the  editor  to  use for opam file editing, overrides
       $EDITOR and $VISUAL.

       OPAMERRLOGLEN sets the number of	log lines printed when	a  sub-process
       fails. 0	to print all.

       OPAMEXTERNALSOLVER see option `--solver'.

       OPAMFAKE	see option `--fake'.

       OPAMFETCH  specifies  how to download files: either `wget', `curl' or a
       custom	command	  where	  variables   %{url}%,	 %{out}%,   %{retry}%,
       %{compress}%   and   %{checksum}%   will	 be  replaced.	Overrides  the
       'download-command' value	from the main config file.

       OPAMFIXUPCRITERIA same as OPAMUPGRADECRITERIA, but  specific  to	 fixup
       and reinstall.

       OPAMIGNORECONSTRAINTS see install option	`--ignore-constraints-on'.

       OPAMIGNOREPINDEPENDS see	option `--ignore-pin-depends'.

       OPAMINPLACEBUILD	see option `--inplace-build'.

       OPAMJOBS	sets the maximum number	of parallel workers to run.

       OPAMJSON	 log json output to the	given file (use	character `%' to index
       the files).

       OPAMKEEPBUILDDIR	see install option `--keep-build-dir'.

       OPAMKEEPLOGS tells opam to not remove some temporary command  logs  and
       some  backups. This skips some finalisers and may also help to get more
       reliable	backtraces.

       OPAMLOCKED combination of `--locked' and	`--lock-suffix'	options.

       OPAMLOGS	logdir sets log	directory, default is a	temporary directory in
       /tmp

       OPAMMAKECMD set the system make command to use.

       OPAMMERGEOUT merge process outputs, stderr on stdout.

       OPAMNO answer  no  to  any  question  asked,  see  options  `--no`  and
       `--confirm-level`.  OPAMNO  is  ignored	if  either OPAMCONFIRMLEVEL or
       OPAMYES is set.

       OPAMNOAGGREGATE with `opam admin	check',	don't aggregate	packages.

       OPAMNOASPCUD Deprecated.

       OPAMNOAUTOUPGRADE disables automatic internal upgrade  of  repositories
       in an earlier format to the current one,	on 'update' or 'init'.

       OPAMNOCHECKSUMS enables option --no-checksums when available.

       OPAMNODEPEXTS   disables	  system  dependencies	handling,  see	option
       `--no-depexts'.

       OPAMNOENVNOTICE Internal.

       OPAMNOSELFUPGRADE see option `--no-self-upgrade'

       OPAMPINKINDAUTO sets whether version control systems should be detected
       when pinning to a local path. Enabled by	default	since 1.3.0.

       OPAMPRECISETRACKING fine	grain tracking of directories.

       OPAMPREPRO set this  to	false  to  disable  CUDF  preprocessing.  Less
       efficient, but might help debugging solver issue.

       OPAMREPOSITORYTARRING  internally  store	 the  repositories  as	tar.gz
       files. This can be much faster on filesystems that don't	cope well with
       scanning	large trees but	have good caching in  /tmp.  However  this  is
       slower in the general case.

       OPAMREQUIRECHECKSUMS    Enables	 option	  `--require-checksums'	  when
       available (e.g. for `opam install').

       OPAMRETRIES sets	the number of tries before failing downloads.

       OPAMREUSEBUILDDIR see option `--reuse-build-dir'.

       OPAMROOT	see option `--root'. This is automatically set	by  `opam  env
       --root=DIR --set-root'.

       OPAMROOTISOK don't complain when	running	as root.

       OPAMSAFE	see option `--safe'.

       OPAMSHOW	see option `--show'.

       OPAMSKIPUPDATE see option `--skip-updates'.

       OPAMSKIPVERSIONCHECKS   bypasses	  some	version	 checks.  Unsafe,  for
       compatibility testing only.

       OPAMSOLVERALLOWSUBOPTIMAL (default `true') allows some solvers to still
       return a	solution when they reach timeout; while	the  solution  remains
       assured	to  be	consistent, there is no	guarantee in this case that it
       fits the	expected optimisation criteria.	If `true',  opam  willcontinue
       with  a	warning,  if `false' a timeout is an error. Currently only the
       builtin-z3 backend handles this degraded	case.

       OPAMSOLVERTIMEOUT change	the time allowance of the solver.  Default  is
       60.0,  set  to  0  for unlimited. Note that all solvers may not support
       this option.

       OPAMSTATS display stats at the end of command.

       OPAMSTATUSLINE display a	dynamic	status line showing  what's  currently
       going on	on the terminal. (one of one of	always,	never or auto)

       OPAMSTRICT fail on inconsistencies (file	reading, switch	import,	etc.).

       OPAMSWITCH  see	option	`--switch'.  Automatically  set	 by  `opam env
       --switch=SWITCH --set-switch'.

       OPAMUNLOCKBASE see install option `--unlock-base'.

       OPAMUPGRADECRITERIA specifies user preferences for  dependency  solving
       when  performing	an upgrade. Overrides OPAMCRITERIA in upgrades if both
       are set.	See also option	--criteria.

       OPAMUSEINTERNALSOLVER see option	`--use-internal-solver'.

       OPAMUSEOPENSSL Removed in 2.2.

       OPAMUTF8	use UTF8 characters in output (one of one of always, never  or
       auto). By default `auto', which is determined from the locale).

       OPAMUTF8MSGS  use  extended  UTF8 characters (camels) in	opam messages.
       Implies OPAMUTF8. This is set by	default	on macOS only.

       OPAMVALIDATIONHOOK if set, uses the `%{hook%}' command to  validate  an
       opam repository update.

       OPAMVERBOSE see option `--verbose'.

       OPAMVERBOSEON see option	--verbose-on

       OPAMVERSIONLAGPOWER do not use.

       OPAMWITHDEVSETUP	see install option `--with-dev-setup'.

       OPAMWITHDOC see install option `--with-doc'.

       OPAMWITHTEST see	install	option `--with-test.

       OPAMWORKINGDIR see option `--working-dir'.

       OPAMYES see options `--yes' and `--confirm-level`. OPAMYES has priority
       over OPAMNO and is ignored if OPAMCONFIRMLEVEL is set.

       OPAMVAR_var   overrides	 the   contents	  of  the  variable  var  when
       substituting `%{var}%` strings in `opam`	files.

       OPAMVAR_package_var overrides the contents of the variable  package:var
       when substituting `%{package:var}%` strings in `opam` files.

CLI VERSION
       All  scripts and	programmatic invocations of opam should	use `--cli' in
       order to	ensure that they work seamlessly with future versions  of  the
       opam  client.  Additionally,  blog  posts  or  other  documentation can
       benefit,	as it prevents information from	becoming stale.

       Although	opam only supports roots (~/.opam/) for	the  current  version,
       it does provide backwards compatibility for its command-line interface.

       Since  CLI  version  support was	only added in opam 2.1,	use OPAMCLI to
       select 2.0 support (as opam 2.0 will just ignore	it),  and  `--cli=2.1'
       for  2.1	(or later) versions, since an environment variable controlling
       the parsing of syntax is	brittle. To this end, opam displays a  warning
       if  OPAMCLI  specifies  a  valid	 version  other	 than 2.0, and also if
       `--cli=2.0' is specified.

       The command-line	version	is selected by using the `--cli' option	or the
       OPAMCLI environment variable. `--cli' may be specified  morethan	 once,
       where  the last instance	takes precedence. OPAMCLI is only inspected if
       `--cli' is not given.

EXIT STATUS
       As an exception to the following, the `exec' command returns 127	if the
       command was not found or	couldn't be executed, and the  command's  exit
       value otherwise.

       0   Success, or true for	boolean	queries.

       1   False.  Returned when a boolean return value	is expected, e.g. when
	   running with	--check, or for	queries	like opam lint.

       2   Bad command-line arguments, or command-line arguments  pointing  to
	   an invalid context (e.g. file not following the expected format).

       5   Not	found.	You requested something	(package, version, repository,
	   etc.) that couldn't be found.

       10  Aborted. The	operation required confirmation, which wasn't given.

       15  Could not acquire the locks required	for the	operation.

       20  There is no solution	to the user request. This  can	be  caused  by
	   asking to install two incompatible packages,	for example.

       30  Error  in  package  definition,  or	other  metadata	 files.	 Using
	   --strict raises this	error more often.

       31  Package script error. Some package  operations  were	 unsuccessful.
	   This	 may  be  an  error in the packages or an incompatibility with
	   your	system.	This can be a partial error.

       40  Sync	error. Could not fetch some remotes from the network. This can
	   be a	partial	error.

       50  Configuration error.	Opam or	 system	 configuration	doesn't	 allow
	   operation, and needs	fixing.

       60  Solver  failure. The	solver failed to return	a sound	answer.	It can
	   be due  to  a  broken  external  solver,  or	 an  error  in	solver
	   configuration.

       99  Internal  error.  Something went wrong, likely due to a bug in opam
	   itself.

       130 User	interrupt. SIGINT was received,	 generally  due	 to  the  user
	   pressing Ctrl-C.

       0   on success.

       123 on indiscriminate errors reported on	standard error.

       124 on command line parsing errors.

       125 on unexpected internal errors (bugs).

FURTHER	DOCUMENTATION
       See https://opam.ocaml.org/doc.

AUTHORS
       David Allsopp <david@tarides.com>
       Vincent Bernardoff <vb@luminar.eu.org>
       Raja Boujbel <raja.boujbel@ocamlpro.com>
       Kate Deplaix <kit-ty-kate@outlook.com>
       Roberto Di Cosmo	<roberto@dicosmo.org>
       Thomas Gazagnaire <thomas@gazagnaire.org>
       Louis Gesbert <louis.gesbert@ocamlpro.com>
       Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr>
       Anil Madhavapeddy <anil@recoil.org>
       Guillem Rieu <guillem.rieu@ocamlpro.com>
       Ralf Treinen <ralf.treinen@pps.jussieu.fr>
       Frederic	Tuong <tuong@users.gforge.inria.fr>

SEE ALSO
       opam(1)

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

Opam 2.3.0							  OPAM-INIT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=opam-init&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help