OPAM package not running

2019-01-28 01:04发布

问题:

I've installed OPAM and run the initialization and updated my .bashrc code too. I then installed the ocamlfind package, which went successfully. But when I try

#use "topfind";;

I get the following

Cannot find file topfind

I'm running ocaml 4.00.1 built from source on Opensuse 12.2.

回答1:

If $OCAML_TOPLEVEL_PATH is not defined, you have to defined it:

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

Don't forget to change %user% and your compiler %version%

Check this issue on the opam bugtracker.



回答2:

First, you need to export the right environment variables by doing:

eval `opam config env`

To be more effective, you should put that line in your ~/.profile (or ~/.bashrc).

Then, if you are using the system compiler, you can add these lines to your ~/.ocamlinit:

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

We are working on improving this process before releasing 1.0.



回答3:

What if you start toplevel as

rlwrap ocaml -I "$OCAML_TOPLEVEL_PATH"

You can also try alternative toplevel: utop (it exists in OPAM)



标签: ocaml opam