0
4

1 回答 1

1

您应放在#use "topfind"任何#require指令之前。所以放在文件#require "yojson";;的末尾.ocamlinit(在注释之后添加它也是一个好主意)。

#require指令由该ocamlfind工具通过topfind脚本提供,该脚本通过该指令加载到顶层,该#use指令是用于加载文件的标准内置指令。该topfind文件在顶层初始化ocamlfind系统,以便顶层现在可以访问ocamlfind基础设施并加载系统中安装的库。如果您使用 opam 安装软件包,那么在启动顶层之前不要忘记在终端中执行eval $(opam config env)(或更短的版本,在 opam 2.x 中可用eval $(opam env))。例如,

eval $(opam config env)
ocaml

这是.ocamlinit文件的正确内容:

(* ## added by OPAM user-setup for ocamltop / base ## 3ec62baf6f9c219ae06d9814069da862 ## you can edit, but keep this line *)


(* Added by OPAM. *)                                                            

let () = try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
 with Not_found -> ()
;;


#use "topfind";;
#camlp4o
#thread;;
Topfind.don't_load ["compiler-libs.toplevel"];;
#require "core.top";;
#require "core.syntax";;
(* ## end of OPAM user-setup addition for ocamltop / base ## keep this line *)

#require "yojson";;
于 2019-02-14T13:15:05.463 回答