Erlangとrebar3と読み込まれないsys.config
昨日は、夕方からの飲み、Erlangの学習が、ちっとも進まない_| ̄|○
というか、兎に角、情報がない。
いや、正確にいうと、書いて有る事をやっても動かない。
もっと正確にいうと、なにか知識が足りない_| ̄|○
堂々巡りを数日繰り返し、絶望と希望を行ったり来たり、はや、前回更新から一ヶ月、遠回りにも程がある。
愚痴を含めて書きたいけど、ここは、備忘録のみ。
rebar3
Erlang チーム開発 rebar3でOTPアプリの雛型を作る
ありがとう、当に救いの主でございました。
$ rebar3 new release name=アプリケーション名 author_name="作者"
releaseがミソ、何がミソって、config/sys.config、config/vm.args が出来る。
releaseを付けないと、出来ない。前者のconfig/sys.configが、出来ないのが、ずーーーと謎だった。
実行
学習したのは、2つの方法。
releaseを動かす
$ rebar3 compile $ rebar3 release $ cd _build/default/rel/アプリケーション名 $ ./bin/アプリケーション名 start $ ./bin/アプリケーション名 stop
但し、自分の環境では、上手くいきませんでした。多分この辺は、
rebar3で環境毎の変数設定を適用する
が、関係しそうな感じ。後ほど、気力がもどったら、検証しますわ。
erlから動かす
$ erl -pa ebin _build/default/lib/*/ebin -s アプリケーション名 -noshell %% config/sys.configを読む必要があるなら↓ $ erl -pa ebin _build/default/lib/*/ebin -s アプリケーション名 -noshell -config config/sys.config
この二段目が、全然かららんかった。
どこかのページにあったのに、失念(つд⊂)エーン
なぜ、sys.configに拘るかというと、lagerやpostgresqlのコネクションプールのモジュール設定を書かないといけないからでした。そう、以下のモジュールのせいです。
Erlang Postgres Connection Pool with Episcina
次回は、一ヶ月、苦しめ続けた、↑のモジュールについて、怒りの備忘録。