簡體   English   中英

如何在Erlang shell中運行Erlang應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM