Automic VaultAutomic Vault

brew

Install opam with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

OCaml package manager. Version 2.5.1 via Homebrew; verified 2026-04-15.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install opam

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install opam

MacPorts ports tree · ocaml/opam/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add opam

Alpine Linux edge package indexes · opam · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install opam

Debian stable package indexes · opam · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install opam

Fedora Rawhide package metadata · opam · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#opam

nixpkgs package indexes · opam · source: raw.githubusercontent.com

Arch Linux pacmanverified · 92%
sudo pacman -S opam

Arch Linux sync databases · opam · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install opam

openSUSE Tumbleweed package metadata · opam · source: download.opensuse.org

Windows

Scoopverified · 92%
scoop install main/opam

Scoop official bucket manifest trees · bucket/opam.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id OCaml.opam -e

Windows Package Manager source index · OCaml.opam · source: cdn.winget.microsoft.com

overview

Package summary

OCaml package manager

Commands and aliases

  • opam
  • opam-installer

history

Project history and usage

opam is the source-based package manager for OCaml. It manages compiler switches, package constraints, solver-backed dependency resolution, and a Git-friendly development workflow, making it both the OCaml ecosystem's package index client and a practical compiler-environment manager.

Project history

The opam history published by the project traces the work to OCamlPro and the wider OCaml community in 2012. Thomas Gazagnaire pushed the first public commit in February 2012; constraint-solving work from Roberto Di Cosmo and Pietro Abate helped connect opam with Mancoosi tools such as CUDF and dose; and documentation and website work followed before the public beta.

The first public beta appeared in January 2013, and opam 1.0.0 was announced on March 15, 2013. The 1.0 release added an auto-configuration tool around opam init, shell completion, toplevel script loading, and related setup tasks, which lowered the cost of getting a usable OCaml environment.

The project quickly became more than a package installer. It standardized switch-based OCaml compiler management, package descriptions, solver integration, and repository workflows in a language ecosystem where compiler versions and native dependencies often matter as much as library versions.

Adoption history

Mirage began using opam in June 2012 for custom compiler needs, and the opam-repository grew through community package submissions. Jane Street's Core libraries appeared in the repository in July 2012, Travis CI was integrated into pull-request processing in September 2013, and contributors were contacted in 2013 to relicense repository contributions to CC0 for the move to the ocaml organization.

The package metadata in this batch records opam across many OS package managers, including Alpine, Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Scoop, Ubuntu, WinGet, and openSUSE. That broad packaging footprint reflects opam's role as the expected bootstrap tool for OCaml development across Unix, macOS, and Windows-oriented environments.

How it is used

Developers use opam to install OCaml compilers and libraries, create and switch between isolated compiler environments, update package metadata, upgrade installed packages, pin packages from local or remote sources, and reproduce project dependency sets. The homepage's basic workflow is list, install, update, and upgrade; day-to-day OCaml work adds switches and project-local package constraints.

Operators and distribution maintainers care about opam because it bridges source builds, solver constraints, compiler variants, and external system packages. A package can be available in opam while still depending on native libraries provided by Homebrew, apt, pacman, or another host package manager.

Why package nerds care

opam is one of the cleaner examples of a language package manager that also manages language runtimes. Its switch model makes compiler selection explicit, and its repository model gives OCaml packages machine-readable metadata while keeping the package index in Git.

For package nerds, opam is important because it makes the hard part visible: OCaml package installation is not just downloading archives, but solving constraints across compiler versions, library packages, build tools, and external dependencies. That is why opam sits naturally in both developer-tools and dependency-management categories.

Timeline

  • 2012: early opam work began, with Mirage using opam in June and key repository packages arriving later that year.
  • January 2013: the first public beta was released.
  • March 15, 2013: opam 1.0.0 was announced.
  • November 2013: opam 1.1.0 was released and Louis Gesbert became technical lead.
  • 2013: opam-repository moved toward CC0 relicensing and the ocaml GitHub organization.

Related projects

  • opam is closely tied to opam-repository, OCaml compiler switches, MirageOS, CUDF, dose, aspcud, and the OCaml Platform. It also interacts with host package managers because many OCaml packages depend on native libraries and tools outside the OCaml package universe.

security posture

Risk level: orange

infrastructure mutation or orchestration signal.

Risk classifier

orange risk · medium confidence · infrastructure

Why

  • infrastructure mutation or orchestration signal

Signals

  • text:package manager

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
~/.opam/config~/.opamrc/etc/opamrc

executables

Installed executables

CommandKindExposureNote
opamcliglobal executable
opam-installercliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2.5.1
manager updated2026-04-15
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/ocaml/opam

install metadata

Package metadata

Package keybrew:opam
Version2.5.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/opam
Homepagehttps://opam.ocaml.org
Repositoryhttps://github.com/ocaml/opam
Upstream docshttps://github.com/ocaml/opam#readme
LicenseLGPL-2.1-only
Source archivehttps://github.com/ocaml/opam/releases/download/2.5.1/opam-full-2.5.1.tar.gz
Last updated2026-04-15T23:50:24Z
Pulseupdated
Dependenciesrsync
Build dependenciesocaml
Uses from macOSunzip
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared
CaveatsOPAM uses ~/.opam by default for its package database, so you need to initialize it first by running: $ opam init

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameopam
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

opam 2.3.0-1+deb13u1

package manager for OCaml

https://opam.ocaml.org

sudo apt install opam
  • Section: ocaml
  • Architecture: amd64
  • 10 dependencies
  • 7 optional deps
  • normalized package name match
  • Matched by: Opam
Debian stable package indexes · deb.debian.org · Debian stable package indexes: opam from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

opam-doc 2.3.0-1+deb13u1

package manager for OCaml (documentation)

https://opam.ocaml.org

sudo apt install opam-doc
  • Section: doc
  • Architecture: all
  • Source Package: opam
  • normalized package name match
  • Matched by: Opam
Debian stable package indexes · deb.debian.org · Debian stable package indexes: opam-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

opam-installer 2.3.0-1+deb13u1

Utility handling (un)installation of Opam .install files

https://opam.ocaml.org

sudo apt install opam-installer
  • Section: ocaml
  • Architecture: amd64
  • Source Package: opam
  • 1 dependencies
  • normalized package name match
  • Matched by: Opam
Debian stable package indexes · deb.debian.org · Debian stable package indexes: opam-installer from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

opam

nix profile install nixpkgs#opam
  • normalized package name match
  • Matched by: Opam
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: opam from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
Ubuntu apt95%

opam 2.1.5-1

package manager for OCaml

https://opam.ocaml.org

sudo apt install opam
  • Section: universe/ocaml
  • Architecture: amd64
  • 10 dependencies
  • 8 optional deps
  • normalized package name match
  • Matched by: Opam
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: opam from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

opam-doc 2.1.5-1

package manager for OCaml (documentation)

https://opam.ocaml.org

sudo apt install opam-doc
  • Section: universe/doc
  • Architecture: all
  • Source Package: opam
  • normalized package name match
  • Matched by: Opam
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: opam-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

opam-installer 2.1.5-1

Utility handling (un)installation of Opam .install files

https://opam.ocaml.org

sudo apt install opam-installer
  • Section: universe/ocaml
  • Architecture: amd64
  • Source Package: opam
  • 1 dependencies
  • normalized package name match
  • Matched by: Opam
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: opam-installer from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

opam 2.5.1-r0

OCaml Package Manager

https://opam.ocaml.org

sudo apk add opam
  • License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception
  • Architecture: x86_64
  • Source Package: opam
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Opam
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: opam from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

opam-doc 2.5.1-r0

OCaml Package Manager (documentation)

https://opam.ocaml.org

sudo apk add opam-doc
  • License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception
  • Architecture: x86_64
  • Source Package: opam
  • normalized package name match
  • Matched by: Opam
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: opam-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

opam 2.5.1-1.fc45

Source-based package manager for OCaml

https://opam.ocaml.org/

sudo dnf install opam
  • License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: opam
  • 16 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Opam
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: opam from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

opam-installer 2.5.1-1.fc45

Standalone script for opam install files

https://opam.ocaml.org/

sudo dnf install opam-installer
  • License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: opam
  • 4 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Opam
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: opam-installer from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

opam 2.5.1-1

OCaml package manager

https://opam.ocaml.org/

sudo pacman -S opam
  • License: LGPL-2.1-only
  • Architecture: x86_64
  • 5 dependencies
  • 4 optional deps
  • normalized package name match
  • Matched by: Opam
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: opam from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
zypper95%

opam 2.5.1-1.2

Source-based package manager for OCaml

https://opam.ocaml.org/

sudo zypper install opam
  • License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: opam
  • 13 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Opam
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: opam from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

opam-devel 2.5.1-1.2

Development files for opam

https://opam.ocaml.org/

sudo zypper install opam-devel
  • License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: opam
  • 5 dependencies
  • 4 provides
  • normalized package name match
  • Matched by: Opam
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: opam-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

opam-installer 2.5.1-1.2

Standalone tool for opam install files

https://opam.ocaml.org/

sudo zypper install opam-installer
  • License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: opam
  • 3 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Opam
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: opam-installer from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

opam

sudo port install opam
  • normalized package name match
  • Matched by: Opam
MacPorts ports tree · api.github.com · MacPorts ports tree: ocaml/opam/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment