找不到Ocamlfind命令

Bar*_*117 4 ocaml makefile centos ocamlfind opam

我遇到了一个问题,安装了一个依赖于ocamlfind的软件包但是我得到了一个ocamlfind:命令时找不到错误.

我已经使用ocaml包管理器安装了ocamlfind,并尝试使用"opam重新安装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
Run Code Online (Sandbox Code Playgroud)

尝试ocamlfind时的输出

ocamlfind
-bash: ocamlfind: command not found
Run Code Online (Sandbox Code Playgroud)

ocaml已安装

opam install ocamlfind
[NOTE] Package ocamlfind is already installed (current version is 1.5.5).
Run Code Online (Sandbox Code Playgroud)

并在运行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;
Run Code Online (Sandbox Code Playgroud)

我在运行centos 7的服务器上

Eta*_*ner 9

这个命令

eval 'opam config env'
Run Code Online (Sandbox Code Playgroud)

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

eval `opam config env`
Run Code Online (Sandbox Code Playgroud)

虽然使用$(...)相反是现代的等价物,并避免这种字体事实混乱

eval $(opam config env)
Run Code Online (Sandbox Code Playgroud)

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

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