OCaml 无法从顶层加载 "extLib.cma"

OCaml unable to load "extLib.cma" from toplevel

当我尝试在 OCaml 的顶级 utop 中加载文件 extLib.cma 时,出现以下错误:

Cannot find file extLib.cma

但是,如果我尝试使用 opam 安装它,我会收到以下提示:

Package extlib is already installed.

我做错了什么?

如果您的目的是交互使用 extLib 的某些功能,那么

$ utop

μ> #require "extlib";;
μ> ExtString.String.explode "ExtLib";;
- : char list = [E; x; t; L; i; b]

如果是其他情况,那么您可能需要指定 extLib.cma 的确切路径,类似于以下的内容应该有效:

$ utop

μ> #load "/Users/xxx/.opam/4.02.3/lib/extlib/extLib.cma";;

其中 /Users/xxx 是您的家 directory/folder; 4.02.3 是我当前的编译器版本,通过 opam switch 设置(IIRC,默认为 system)。