我已经安装了OPAM并运行初始化并更新了我的.bashrc代码。然后我安装了ocamlfind包,它成功了。但是当我尝试
时#use "topfind";;
我得到以下
Cannot find file topfind
我在Opensuse 12.2上运行了从源代码构建的ocaml 4.00.1。
答案 0 :(得分:8)
首先,您需要通过执行以下操作导出正确的环境变量:
eval `opam config env`
为了更有效,您应该将该行放在~/.profile
(或~/.bashrc
)中。
然后,如果您使用的是系统编译器,则可以将这些行添加到~/.ocamlinit
:
let () =
try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
with Not_found -> ()
我们正在努力改进此流程,然后再发布1.0。
答案 1 :(得分:4)
如果未定义$OCAML_TOPLEVEL_PATH
,则必须对其进行定义:
export OCAML_TOPLEVEL_PATH=/home/%user%/.opam/%version%/lib/toplevel
不要忘记更改%user%
和您的编译器%version%
在opam bugtracker上查看此issue。
答案 2 :(得分:1)
如果你开始作为
开始怎么办? rlwrap ocaml -I "$OCAML_TOPLEVEL_PATH"
你也可以尝试替代上层:utop
(它存在于OPAM中)