あなたの使ったことは必ずしも間違った方法ではありませんが、いくつかの問題が発生する可能性があります。たとえば、アプリケーションの前に起動しなければならない依存アプリケーションを起動する選択肢がありません。
したがって、loading
またはstarting
に依存するOTPアプリケーションまたはライブラリの代替手段があります。それを処理するためのパッケージマネージャ使用)
erl -pa ebin deps/*/ebing -s your_dep_app start -s your_app start
2:erl
コマンドラインフラグを使用して
1)パッケージマネージャとして例鉄筋として
はあなたのためにそれを扱うことができます。必要なのは、アプリケーションの依存関係をrebar.config
に指定し、Rebar2の場合はrebar get-deps
、Rebar3の場合はrebar3 compile
を発行することです。以下はRebar3用のサンプル設定ファイルの抜粋です:
{deps,[
%% Packages
rebar,
{rebar,"1.0.0"},
{rebar, {pkg, rebar_fork}}, % rebar app under a different pkg name
{rebar, "1.0.0", {pkg, rebar_fork}},
%% Source Dependencies
{rebar, {git, "git://github.com/erlang/rebar3.git"}},
{rebar, {git, "http://github.com/erlang/rebar3.git"}}]}.
鉄筋依存性マネージャの詳細についてはthisリンクを見てみましょう。
また、Rebarを使用してそれらを開始またはロードするには、リリースを行い、Rebarを開始またはロードすることができます。
{relx, [
{release,
{your_app, "0.1.0"},
[your_dep_app_1,
{your_dep_app_2, load}]}]}.
この設定がロードされ、your_dep_app_1
を開始しますが、ちょうどyour_dep_app_2
をロードします。以下は、リリースを行うためのサンプルの鉄筋の設定ファイルの抜粋です。 Rebar release managerの詳細については、thisリンクを参照してください。