[英]How run an Erlang application inside the Erlang shell
我有一個Erlang應用程序,我可以輕松編譯它並使用basho rebar運行它,它生成一個獨立的escript可執行文件。 我從命令行運行它,如:./ myapp myconfig.config
我的問題是如何在Erlang shell中運行它。 此應用程序有四個其他應用程序作為依賴 Rebar編譯所有的容易。 但我需要從shell內部運行此應用程序,如:
erl -noshell -name node1 @ machine -run test start parameter1 -s init stop;
但我不知道我應該在哪條路上運行它。 當我在“ebin”文件夾(梁文件所在的位置)中嘗試時,無法訪問依賴項。 我看到每個依賴項應用程序都有自己的“ebin”文件夾。 那么如何通過“erl -noshell”命令運行我的應用程序(考慮依賴應用程序)? Rebar會自動處理所有這些事情。
Rebar驅動的OTP應用程序的典型目錄結構如下所示:
/
src/
ebin/
deps/
dep1/
src/
ebin/
dep2/
src/
ebin/
因此,如果您位於項目的根目錄中,則可以使用-pa
參數將erl
指向正確的位置。 要告訴它在哪里可以找到您的應用程序及其依賴項的BEAM文件,請嘗試以下操作:
erl [...] -pa ebin -pa deps/*/ebin
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.