ocaml / opam
git clone https://github.com/ocaml/opam.git
2.6.1 · 15d ago
🔥 on GitHub Trending today
opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
+0
stars, 24h · #15,483
+~0
stars, 7 days · #15,987
+4
stars, 30 days · #22,243
1.4k
★ total
408
forks · 888 open issues
Star history (as recorded here)
LanguageOCaml
License—
Created2012-02-17 (14y ago)
Last push3d ago
Watchers57
OwnerOrganization
Seen on GitHub Trending
- 2026-10-22 — #10 monthly in ocaml · +4 ★
- 2026-10-21 — #2 daily in ocaml
- 2026-10-21 — #10 monthly in ocaml · +4 ★
- 2026-10-20 — #2 daily in ocaml
- 2026-10-20 — #10 monthly in ocaml · +4 ★
GitHub topics
Links
- GitHub: github.com/ocaml/opam
- Homepage: https://opam.ocaml.org
- Releases · Issues · Hacker News mentions
README excerpt
# opam - A Package Manager for OCaml |master|2.0|2.1| |--|--|--| | | | | Opam is a source-based package manager for OCaml. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow. Opam was created and is maintained by OCamlPro. To get started, checkout the Install and Usage guides. ## Compiling This Repo Either from an existing opam installation, use `opam pin add .` if you cloned locally the repository, `opam pin add git+https://github.com/ocaml/opam` otherwise, or: * Make sure you have the required dependencies installed: - GNU make - OCaml >= 4.11 (or see below) - A C++ compiler (unless building without a solver, see `./configure --without-mccs`) * Run `./configure` if you have all the OCaml dependencies installed. If not, run `./configure --with-vendored-deps`, this will locally take care of all OCaml dependencies for you (downloading them, unless you used the inclusive archive we provide for each release). * Run `make` * Run `make install` This is all you need for installing and using opam, but if you want to use the `opam-lib` (to work on opam-related tools), you need to link it to installed libraries. It's easier to already have a working opam installation in this case, so you can do it as a second step. * Make sure to have `ocamlfind`, `ocamlgraph`, `cudf` >= 0.11~rc1, `dose3` >= 6.1, `re` >= 1.9.0, `opam-file-format` installed. Or run `opam install . --deps-only` if you already have a working instance. Re-run `./configure` once done * Run `make libinstall` at the end _Note_: If you install on your system (without changing the prefix), you will need to install as root (`sudo`). As `sudo` does not propagate environment variables, there will be some errors. You can use `sudo -E "PATH=$PATH"` in order to ensure you have a good environment for install. ## Developer Mode If you are developing opam, you may enable developer features by including the `--enable-developer-mode` parameter with `./configure`. ## Compiling on Native Windows Cygwin (https://www.cygwin.com/setup-x86_64.exe) is always required to build opam on Windows. The following Cygwin packages are required: * From Devel - `make` * From Devel - `patch` (not required if OCaml and all required packages are pre-installed) * From Devel - `autoconf` * From Devel - `curl` * From Devel - `mingw64-i686-gcc-g++` & `mingw64-x86_64-gcc-g++` (not required if building with MSVC) Alternatively, having downloaded Cygwin's setup program, Cygwin can be installed using the following command line: [code] The `--no-desktop` and `--no-startmenu` switches may be omitted in order to create shortcuts on the Desktop and Start Menu, respectively. Executed this way, setup will still be interactive, but the packages will have been preselected. To make setup fully unattended, choose a mirror URL from https://cygwin.com/mirrors.lst and add the `--site` switch to the command line (e.g., `--site=https://www.mirrorservice.org/sites