0

我已经使用 opam 安装了一些软件包,例如 Core 和 Batteries。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 运行它时,我可以看到电池模块,但我看不到任何核心模块。当我尝试执行open Coreopen Core.Std收到未绑定的模块错误时。我也尝试添加#require "core"并且错误仍然存​​在。

我不确定错误是什么,因为我按照“Real World OCaml”一书中的安装说明进行操作。

当我从 utop 开始时,我还会看到两条消息:

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

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

4

1 回答 1

0

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

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

发生的事情是当我尝试opam install yojson async发生错误时。从那时起,Core 没有正确加载。

所以我认为附加库的“Real World OCaml”安装说明有问题。

于 2015-03-24T05:41:36.470 回答