An opam-monorepo
project uses 3 components in the source tree:
lwt >= 4.0.0
).opam.locked
) containing references to exact dependencies (for example, lwt = 4.2.1
) and how to get them (URLs, hashes, etc.). It also contains information about transitive dependencies, not just the ones mentioned in opam files.duniverse
folder containing the sources for all the packages mentioned in the lock fileThe two important commands are:
opam monorepo lock
, which will read the opam file and compute a solution using the opam repository and the opam solver. It will create or update the lock file with this solution.opam monorepo pull
will read the lock file, download the dependencies, and unpack them into the duniverse/
folder.