5

我在安装依赖于 ocamlfind 的软件包时遇到问题,但在制作时出现 ocamlfind: command not found 错误。

我已经使用 ocaml 包管理器安装了 ocamlfind,并尝试使用“opam reinstall ocamlfind”重新安装。

我还尝试了“eval opam config env”命令来查看是否更新了我的 bin。

有没有人遇到过类似的问题/知道这可能是由什么引起的

运行make时的输出:

make
ocamlfind ocamlc -pp "camlp4o -I lib/dcg -I lib/ipp pa_dcg.cmo pa_ipp.cmo" -w usy -thread -I lib -I lib/dcg -I lib/ipp       -c semantics.ml
/bin/sh: ocamlfind: command not found

尝试 ocamlfind 时的输出

ocamlfind
-bash: ocamlfind: command not found

ocaml 已安装

opam install ocamlfind
[NOTE] Package ocamlfind is already installed (current version is 1.5.5).

并且在运行 eval 命令时

eval 'opam config env'
CAML_LD_LIBRARY_PATH="/home/centos/.opam/system/lib/stublibs:/usr/lib64/ocaml/stub libs"; export CAML_LD_LIBRARY_PATH;
MANPATH="/home/centos/.opam/system/man:"; export MANPATH;
PERL5LIB="/home/centos/.opam/system/lib/perl5"; export PERL5LIB;
OCAML_TOPLEVEL_PATH="/home/centos/.opam/system/lib/toplevel"; export OCAML_TOPLEVEL_PATH;
PATH="/home/centos/.opam/system/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/centos/.local/bin:/home/centos/bin"; export PATH;

我在运行 centos 7 的服务器上

4

2 回答 2

11

这个命令

eval 'opam config env'

几乎可以肯定是一个错字,应该是

eval `opam config env`

尽管使用$(...)instead 是现代的等价物,并且避免了这种字体事实混淆

eval $(opam config env)

话虽这么说,只是在当前 shell 会话中设置环境变量(并将它们导出以供此 shell 会话运行的进程使用)。

因此,需要在需要这些设置的每个shell 会话中运行(包括如果运行 make 的环境尚未设置和导出它们,则希望设置它们的 makefile 的每一行)。

于 2015-06-02T15:20:14.683 回答
4

尝试

sudo apt-get install ocaml-findlib
于 2019-03-27T06:37:07.267 回答