6

我已经安装了 OPAM 并运行了初始化并更新了我的 .bashrc 代码。然后我安装了 ocamlfind 包,它成功了。但是当我尝试

#use "topfind";;

我得到以下

Cannot find file topfind

我在 Opensuse 12.2 上运行从源代码构建的 ocaml 4.00.1。

4

3 回答 3

8

首先,您需要通过执行以下操作导出正确的环境变量:

eval `opam config env`

为了更有效,您应该将该行放在您的~/.profile(or ~/.bashrc) 中。

然后,如果您使用的是系统编译器,您可以将这些行添加到您的~/.ocamlinit

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

在发布 1.0 之前,我们正在努力改进这个过程。

于 2013-02-07T13:38:00.723 回答
4

如果$OCAML_TOPLEVEL_PATH未定义,则必须定义它:

export OCAML_TOPLEVEL_PATH=/home/%user%/.opam/%version%/lib/toplevel

不要忘记改变%user%你的编译器%version%

在 opam bugtracker 上检查这个问题。

于 2013-02-07T13:16:56.177 回答
1

如果你从顶层开始怎么办

rlwrap ocaml -I "$OCAML_TOPLEVEL_PATH"

您也可以尝试替代顶层:(utop存在于 OPAM 中)

于 2013-02-07T13:39:08.177 回答