2015-06-01 3 views
-1

У меня возникла проблема с установкой пакета, зависящего от ocamlfind, но я получаю команду ocamlfind: команда не обнаружила ошибку при создании.Команда Ocamlfind не найден

Я установил ocamlfind с менеджером пакетов ocaml и попытался переустановить с помощью «opam restall ocamlfind».

Я также попробовал команду eval opam config env, чтобы узнать, обновляет ли мой bin.

Кто-нибудь столкнулся с подобным вопросом/знаю, что это может быть вызвано

Вывод при запуске составит:

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

+5

Эта последняя команда почти наверняка должна была быть 'eval opam config env ', а не 'eval 'opam config env'' и должна выполняться в каждом сеансе оболочки, который нуждается в этих переменных, установленных (что не приходит из оболочки, которая уже их установлена). –

+0

@EtanReisner, не могли бы вы переместить свой комментарий, чтобы ответить? – ivg

+1

@ivg Не возможно ли только с большей репутацией? –

ответ

5

Эта команда

eval 'opam config env' 

это почти наверняка опечатка и должно было быть

eval `opam config env` 

, хотя с использованием $(...) вместо этого современный эквивалент и избегает этого шрифта факт путаницы

eval $(opam config env) 

Это, говорит, что просто устанавливает переменные среды в текущем сеансе оболочки (и экспортирует их для использования процессов, запускаемых этой сессии оболочки).

Каждый сеанс оболочки, который нуждается в этих наборах (включая каждую строку файла makefile, который ожидает их установки, если среда, которая запускает make, еще не установила и не экспортировала их) ,