Ocaml和Opam:未绑定模块Core

bst*_*our 49 ocaml opam

我正试图建立一个ocaml环境,并且我遵循了Real World Ocaml beta附录A中的说明.我设置了opam,并在命令中安装了ocaml版本

$ opam switch 4.01.0dev+trunk
Run Code Online (Sandbox Code Playgroud)

过得很好.然后我做了一个

$ eval `opam config env`
Run Code Online (Sandbox Code Playgroud)

引入变化.我正在运行正确的顶级,如

$ which ocaml
Run Code Online (Sandbox Code Playgroud)

输出

/home/bryan/.opam/4.01.0dev+trunk/bin/ocaml
Run Code Online (Sandbox Code Playgroud)

我使用命令从Jane street安装了Core包

$ opam install core
Run Code Online (Sandbox Code Playgroud)

ocamlfind和opam搜索都显示包已正确安装.但是,当我尝试从repl或文件中打开它时,我收到错误'unbound module Core'.例如

$ ocaml
# open Core;;
Error: Unbound module Core
Run Code Online (Sandbox Code Playgroud)

这里有什么我想念的吗?为什么ocaml找不到我安装的模块?提前致谢.

bst*_*our 64

所以我跳了一下枪.我忘了在〜/ .ocamlinit文件中添加一些项目.具体来说,我忘了添加

#use "topfind"
#camlp4o
#thread
#require "core.top"
#require "core.syntax"
Run Code Online (Sandbox Code Playgroud)

如第1章所述.噢,哦!

  • 编辑文本文件如何过时? (12认同)
  • 要求编辑文本文件作为安装过程的一部分,以实现显然每个人都想要的东西,这对我来说似乎也是过时的.或者核心库是如此精致和卓越?我刚刚安装了ocaml,我不知道〜/ .ocamlinit中添加的五行是什么意思.刚刚被脚本问到"[2/4]你想更新你的〜/ .ocamlinit吗?",我想知道为什么这五行不是作为某些安装脚本的一部分添加的. (12认同)
  • 手动添加行到配置文件?这有点陈旧吗? (8认同)
  • 你是对的.我对开始使用Opam,utop和Core库所需的设置量感到有点沮丧. (8认同)

gha*_*yes 6

请按照“ Real World OCaml Wiki-安装说明”中的步骤进行操作

在“ 设置和使用utop”下,说明说明您应该添加:

#use "topfind";;
#thread;;
#camlp4o;;
#require "core.top";;
#require "core.syntax";;
Run Code Online (Sandbox Code Playgroud)

到您的~/.ocamlinit文件。