OCaml 和 Opam:未绑定模块 Core

问题描述 投票:0回答:3

我正在尝试设置 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 找不到我安装的模块?

ocaml opam
3个回答
73
投票

所以我有点操之过急。我忘记将一些项目添加到我的 ~/.ocamlinit 文件中。具体我忘了补充

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

如第 1 章中所述。哦!


12
投票

请按照Real World OCaml Wiki - 安装说明中的步骤操作。

设置和使用 utop 下,说明指出您应该添加:

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

到您的

~/.ocamlinit
文件。


0
投票

如果您正在使用 Dune 构建代码,并且您认为您已经安装了核心,那么您仍然需要在 Dune 文件中声明应用程序的依赖项。

; bin/dune
 (executable
  (public_name app)
  (name main)
  (libraries app core))
© www.soinside.com 2019 - 2024. All rights reserved.