【发布时间】:2013-02-07 13:10:16
【问题描述】:
我已经安装了 OPAM 并运行了初始化并更新了我的 .bashrc 代码。然后我安装了 ocamlfind 包,它成功了。但是当我尝试
#use "topfind";;
我得到以下信息
Cannot find file topfind
我在 Opensuse 12.2 上运行从源代码构建的 ocaml 4.00.1。
【问题讨论】:
我已经安装了 OPAM 并运行了初始化并更新了我的 .bashrc 代码。然后我安装了 ocamlfind 包,它成功了。但是当我尝试
#use "topfind";;
我得到以下信息
Cannot find file topfind
我在 Opensuse 12.2 上运行从源代码构建的 ocaml 4.00.1。
【问题讨论】:
首先,您需要通过以下方式导出正确的环境变量:
eval `opam config env`
为了更有效,您应该将该行放在您的~/.profile(或~/.bashrc)中。
然后,如果您使用的是系统编译器,您可以将这些行添加到您的~/.ocamlinit:
let () =
try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
with Not_found -> ()
我们正在努力在发布 1.0 之前改进此流程。
【讨论】:
如果$OCAML_TOPLEVEL_PATH没有定义,你必须定义它:
export OCAML_TOPLEVEL_PATH=/home/%user%/.opam/%version%/lib/toplevel
别忘了更改%user% 和你的编译器%version%
在 opam bugtracker 上检查此 issue。
【讨论】:
aliasesarchivescompilersconfigdescr和其他类似的。
/home/%user%/.opam/system/lib/toplevel,它工作。谢谢。
如果你从顶层开始会怎样
rlwrap ocaml -I "$OCAML_TOPLEVEL_PATH"
您也可以尝试替代顶级:utop(存在于 OPAM 中)
【讨论】:
rlwrap 不需要。 ocaml -I "$OCAML_TOPLEVEL_PATH" 应该解决问题恕我直言。
$OCAML_TOPLEVEL_PATH 变量,我就可以只运行ocaml 本身。