我已经安装了OPAM并运行初始化并更新了我的.bashrc代码.然后我安装了ocamlfind包,它成功了.但是,当我尝试
#use "topfind";;
Run Code Online (Sandbox Code Playgroud)
我得到以下内容
Cannot find file topfind
Run Code Online (Sandbox Code Playgroud)
我在Opensuse 12.2上运行了从源代码构建的ocaml 4.00.1.
首先,您需要通过执行以下操作导出正确的环境变量:
eval `opam config env`
Run Code Online (Sandbox Code Playgroud)
为了更有效,您应该将该行放在您的~/.profile(或~/.bashrc)中.
然后,如果您使用的是系统编译器,则可以将以下行添加到~/.ocamlinit:
let () =
try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
with Not_found -> ()
Run Code Online (Sandbox Code Playgroud)
我们正在努力在发布1.0之前改进这个过程.
如果$OCAML_TOPLEVEL_PATH未定义,则必须定义它:
export OCAML_TOPLEVEL_PATH=/home/%user%/.opam/%version%/lib/toplevel
Run Code Online (Sandbox Code Playgroud)
不要忘记更改%user%你的编译器%version%
在 opam bugtracker 上检查这个问题。