As a beginner of OCaml, it felt a bit unwieldy to perform an upgrade of my
current environment (OCaml + OPAM + packages). I knew there was not a single
command that does all the tasks like conda for Python. Luckily, it was not so
difficult with OPAM’s import/export function [1]. I upgraded my OCaml
environment with all installed packages retained following these steps without
much trouble.
Export the list of currently installed packages:
opam switch export opam-pkg-list.txt
Update OCaml & OPAM with the system package manager (e.g., Homebrew on
macOS or apt-get on a major Linux distribution).
Now the system OCaml should be upgraded to the latest version. If the
updated version is not set as the system OCaml, use opam switch <version>
to switch to it.
Import the list of installed packages. Pay attention to the warnings and error messages because some packages may not be installed automatically and therefore need intervention.
opam switch import opam-pkg-list.txt
Whatever package that cannot be automatically imported in the previous step
needs to be manually installed with OPAM. Deal one error message at a time.
Once those packages that give error messages are manually installed, run
opam switch import again to import the rest of uninstalled packages.