Dune Developer Preview

Setup OCaml in under a minute

The Dune Developer Preview is an experimental nightly release of Dune that lets you develop, test, run, and manage dependencies for OCaml projects – all with just Dune - following the OCaml Platform Roadmap.

Install Dune

curl https://dune.ci.dev/install | bash

If you wish to install the binary distribution manually, please follow the manual installation instructions.

Getting Started

You can create and run your first hello-world program using Dune like this:

$ dune init proj hello_world
$ cd hello_world
$ dune pkg lock
$ dune exec hello_world

For more information on Dune and Package Management, check the latest dune docs.

Share Feedback

We are excited to learn from your experience with the Dune Developer Preview, so feel encouraged to tell us what you think:

Frequently Asked Questions

Is it stable?

We are working to stabilize these features and move them from a Developer Preview to a regular released version of Dune. In the meantime, expect some bugs and please report them to ocaml/dune

Does it support Windows

No, not yet. Watch this space for news!

Can I build the Developer Preview of Dune from sources?

Yes. the only difference from a regular build from source is in a few configuration flags. Please look in the Dune repository for complete instructions on how to do a source build of Dune.

When configuring the build you'll want to enable the following flags:

--enable-toolchains
--enable-pkg-build-progress
--enable-lock-dev-tool

Can I access these features from a version of Dune managed by opam?

Yes, but we can't guarantee they will work correctly since the Dune Developer Preview makes some assumptions for package management that aren't supported by opam.

To enable these features make sure you are pinning dune to the development version, and export the following environment variables:

$ opam pin add dune --dev
$ export DUNE_CONFIG__TOOLCHAINS=enabled
$ export DUNE_CONFIG__PKG_BUILD_PROGRESS=enabled
$ export DUNE_CONFIG__LOCK_DEV_TOOL=enabled

Manual Installation

In this section you'll find instructions to manually install the Dune Developer Preview, and verify the installation. This is recommended for advanced users, or if you want so understand where the binaries come from.

Featured Downloads

This is the latest release of the Dune Developer Preview. See the release history section for all past releases.

Installing the binary

After downloading a binary release of Dune, make it executable and place it somewhere reachable by your PATH:

$ chmod u+x ./dune
$ sudo mv ./dune /usr/local/bin/dune
You can verify your installation by running:
$ dune --version
"Dune Developer Preview: build , git revision cc260345db57ab639db6363b2dc89072a1492832"

Verifying the Dune binary

To ensure trust in the binary distribution, we generate a build certificate associated with the Github Actions pipeline where the binaries are built. Once you download this certificate, you can use the gh tool to verify it with the following command:

$ gh attestation verify ./dune -R tarides/dune-binary-distribution --bundle attestation.jsonl

Release History

Here is a table of the last 10 releases of the Dune Developer Preview so far.

dune nightly-2024-09-27
File nameOSArchCommitCertificate
dune-aarch64-apple-darwinmacOSaarch6417071ec30d10390badcb6cb1f6a43984b1be54a6Certificate
dune-x86_64-apple-darwinmacOSx86-6417071ec30d10390badcb6cb1f6a43984b1be54a6Certificate
dune-x86_64-unknown-linux-muslLinuxx86-6417071ec30d10390badcb6cb1f6a43984b1be54a6Certificate
dune nightly-2024-09-26
File nameOSArchCommitCertificate
dune-aarch64-apple-darwinmacOSaarch6417071ec30d10390badcb6cb1f6a43984b1be54a6Certificate
dune-x86_64-apple-darwinmacOSx86-6417071ec30d10390badcb6cb1f6a43984b1be54a6Certificate
dune-x86_64-unknown-linux-muslLinuxx86-6417071ec30d10390badcb6cb1f6a43984b1be54a6Certificate
dune nightly-2024-09-25
File nameOSArchCommitCertificate
dune-aarch64-apple-darwinmacOSaarch641a8b43f449cf00996281b5c73b2a0f3400817a00Certificate
dune-x86_64-apple-darwinmacOSx86-641a8b43f449cf00996281b5c73b2a0f3400817a00Certificate
dune-x86_64-unknown-linux-muslLinuxx86-641a8b43f449cf00996281b5c73b2a0f3400817a00Certificate
dune nightly-2024-09-24
File nameOSArchCommitCertificate
dune-aarch64-apple-darwinmacOSaarch64d17070390c992e0aa584efde072bd9f0442cf855Certificate
dune-x86_64-apple-darwinmacOSx86-64d17070390c992e0aa584efde072bd9f0442cf855Certificate
dune-x86_64-unknown-linux-muslLinuxx86-64d17070390c992e0aa584efde072bd9f0442cf855Certificate
dune nightly-2024-09-23
File nameOSArchCommitCertificate
dune-aarch64-apple-darwinmacOSaarch641db1f45f9d6c111665a8af110dfa10606732cffeCertificate
dune-x86_64-apple-darwinmacOSx86-641db1f45f9d6c111665a8af110dfa10606732cffeCertificate
dune-x86_64-unknown-linux-muslLinuxx86-641db1f45f9d6c111665a8af110dfa10606732cffeCertificate
dune nightly-2024-09-22
File nameOSArchCommitCertificate
dune-aarch64-apple-darwinmacOSaarch64d6f1a2740ac584127105773a43283829ae7a39e7Certificate
dune-x86_64-apple-darwinmacOSx86-64d6f1a2740ac584127105773a43283829ae7a39e7Certificate
dune-x86_64-unknown-linux-muslLinuxx86-64d6f1a2740ac584127105773a43283829ae7a39e7Certificate
dune nightly-2024-09-21
File nameOSArchCommitCertificate
dune-aarch64-apple-darwinmacOSaarch64d6f1a2740ac584127105773a43283829ae7a39e7Certificate
dune-x86_64-apple-darwinmacOSx86-64d6f1a2740ac584127105773a43283829ae7a39e7Certificate
dune-x86_64-unknown-linux-muslLinuxx86-64d6f1a2740ac584127105773a43283829ae7a39e7Certificate
dune nightly-2024-09-20
File nameOSArchCommitCertificate
dune-aarch64-apple-darwinmacOSaarch643f31387ec20b3d6f920999bdae35cdcfdd16667aCertificate
dune-x86_64-apple-darwinmacOSx86-643f31387ec20b3d6f920999bdae35cdcfdd16667aCertificate
dune-x86_64-unknown-linux-muslLinuxx86-643f31387ec20b3d6f920999bdae35cdcfdd16667aCertificate
dune nightly-2024-09-19
File nameOSArchCommitCertificate
dune-aarch64-apple-darwinmacOSaarch643f31387ec20b3d6f920999bdae35cdcfdd16667aCertificate
dune-x86_64-apple-darwinmacOSx86-643f31387ec20b3d6f920999bdae35cdcfdd16667aCertificate
dune-x86_64-unknown-linux-muslLinuxx86-643f31387ec20b3d6f920999bdae35cdcfdd16667aCertificate
dune nightly-2024-09-18
File nameOSArchCommitCertificate
dune-aarch64-apple-darwinmacOSaarch644f86203f77eb7ead7a07286b7728cbf42a386990Certificate
dune-x86_64-apple-darwinmacOSx86-644f86203f77eb7ead7a07286b7728cbf42a386990Certificate
dune-x86_64-unknown-linux-muslLinuxx86-644f86203f77eb7ead7a07286b7728cbf42a386990Certificate