Почему обычное приложение Erlang (Common Test, Dialyzer, leex, yecc и т. Д.) Недоступно в оболочке `erl`?
Возвращаясь к Erlang, я заметил, что не могу запустить ни одну из вспомогательных платформ, которые имеют свои собственные руководства пользователя, такие как EUnit, Common Test, leex, yecc, Dyalizer, Typer и т. Д.
Согласно Руководству пользователяCommon Test, "Приложение Common Test устанавливается вместе с системой Erlang/OTP" и что "никаких дополнительных шагов установки не требуется". Я предполагаю, что это верно и для других, и я уверен, что мне не хватает чего-то базового.
1 ответ
@aronisstav ударил по голове своим комментарием о " неправильном представлении, вызванном функцией автозаполнения оболочки, которая основана на том, что уже загружено ". Чтобы процитировать его снова, правильный ответ:
Все эти инструменты имеют подходящую функцию "точки входа" Erlang, и вызов этой функции должен работать (при условии, что вы не запускаете свой узел / оболочку во встроенном режиме).
Дали этим ниже попробовать, и они сработали (я думаю, я был просто идиотом):
6> leex:file("./program.erl").
./program.erl.xrl: no such file or directory
error
7> dialyzer:gui().
Для работы автозаполнения оболочки просто загрузите модули, используя code:load_file/1
или же l(Module)
в erl
ракушка:
$ erl
1> code:load_file(ct).
{module,ct}
2> l(dialyzer).
{module,dialyzer}