我正在尝试设置 OCaml 环境,并且我已按照 Real World OCaml beta 附录 A 中的说明进行操作。我设置了 opam,并使用命令安装了 OCaml 版本
$ opam switch 4.01.0dev+trunk
一切顺利。然后我做了一个
$ eval `opam config env`
引入更改。我正在运行正确的顶层,如
$ which ocaml
输出
/home/bryan/.opam/4.01.0dev+trunk/bin/ocaml
我使用以下命令从 Jane street 安装了 Core 包
$ opam install core
ocamlfind 和 opam search 都显示软件包已正确安装。但是,当我尝试从 repl 或文件中打开它时,我收到错误“未绑定模块核心”。例如
$ ocaml
# open Core;;
Error: Unbound module Core
我在这里缺少什么吗?为什么 OCaml 找不到我安装的模块?
所以我有点操之过急。我忘记将一些项目添加到我的 ~/.ocamlinit 文件中。具体我忘了补充
#use "topfind"
#camlp4o
#thread
#require "core.top"
#require "core.syntax"
如第 1 章中所述。哦!
请按照Real World OCaml Wiki - 安装说明中的步骤操作。
在设置和使用 utop 下,说明指出您应该添加:
#use "topfind";;
#thread;;
#camlp4o;;
#require "core.top";;
#require "core.syntax";;
到您的
~/.ocamlinit
文件。
如果您正在使用 Dune 构建代码,并且您认为您已经安装了核心,那么您仍然需要在 Dune 文件中声明应用程序的依赖项。
; bin/dune
(executable
(public_name app)
(name main)
(libraries app core))