OCaml:使用~/.ocamlint设置解除模块核心的绑定

OCaml:使用~/.ocamlint设置解除模块核心的绑定,ocaml,opam,Ocaml,Opam,我已经安装了一些使用opam的软件包,比如核心和电池。ocamlinit文件如下所示: (* Added by OPAM. *) #use "topfind" #thread #camlp4o #require "core.top" #require "core.syntax" #require "batteries" let () = try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") with Not_foun

我已经安装了一些使用opam的软件包,比如核心和电池。ocamlinit文件如下所示:

(* Added by OPAM. *)

#use "topfind"
#thread
#camlp4o
#require "core.top"
#require "core.syntax"
#require "batteries"

let () =
  try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
  with Not_found -> ()
;;
当我使用utop运行此程序时,我可以看到电池模块,但看不到任何核心模块。当我尝试执行
opencore
opencore.Std
时,我得到一个未绑定模块错误。我还尝试添加了
#require“core”
,但错误依然存在

我不确定错误是什么,因为我遵循了《真实世界OCaml》一书中的安装说明

启动utop时,我还看到两条消息:

No such package: oUnit" - required by `pa_ounit'"
No such package: pa_pipebang" - required by `core.syntax'"

我不确定这些是否与问题有关,但当我执行
opam list ounit
opam list pipebang
时,它会显示它们已安装。

好的,我重新安装了OCaml,发现问题确实与

No such package: oUnit" - required by `pa_ounit'"
No such package: pa_pipebang" - required by `core.syntax'"
当我尝试
opam安装yojson async
时发生了一个错误。从那时起,核心没有正确加载


因此,我认为附加库的“Real World OCaml”上的安装说明有问题。

您是否尝试过将let()=try Topdirs。。。。文件顶部的代码,在#use“topfind”刚刚尝试之前,遗憾的是它没有起到任何作用。在我的第二次安装中,我做了“opam安装核心utop电池”。然后我使用了与我原来帖子中嵌入的完全相同的.ocamlinit。成功了。之后,我尝试安装yojson和async,但出现了一些错误,例如已经安装了类型_conv。之后,他们开始出现oUnit和pipebang错误。