ERLコマンドにディレクトリを追加できますか?
-
08-10-2019 - |
質問
erlangファイルをコンパイルするとき erlc
SOのようなディレクトリを追加することができます:
erlc -I /home/trotter/code/open-source/yaws/include src/myapp.erl
内部からコンパイルしているとき erl
ただし、コマンドラインでこれを行う方法はありません。代わりに、私はREPL内で以下をしなければなりません:
> compile:file("src/myapp",
[verbose,
report_errors,
{i,"/home/trotter/code/open-source/yaws/include"}]).
ERLにコマンドラインの引数を渡すなど、私が知らないこれを行うより良い方法はありますか?そうでない場合は、これを乾燥させるための提案はありません しないでください コンパイルするたびに厄介なパスを入力する必要があります。
解決
シェルからコンパイルすることはめったにありません - 小さなテストスクリプトのみで c(foo)
. 。私のセットアップはこれです:
ビルドインフラストラクチャがあります。 make
ソフトウェアを構築します(Makeはただのラッパーです rebar
ここ)。その後、内部からコードを作成できます emacs
打つことによって F12
にバインドされています compile
emacsコマンド。の vim
同じことができます :make
私のVIMメモリが私に役立つならコマンド(数年が経ちました)。今、これはもちろんコードを構築し、 ebin
監督。
次のステップは、Erlangを開始することです。 ebin
監督:
erl -pa ./ebin
つまり、モジュールへの参照があります foo
行ってチェックします ./ebin/foo.beam
. 。それから私がいくつかのコードを修正する必要があると判断したとき、私はそれをエディターで修正し、コードをコンパイルします F12
そして、実行します l(foo)
コードをホットロードするシェルで。
また、コンピレーションエラーが編集者の管轄下にあるため、エラーにすばやくジャンプして修正できるという利点もあります。
他のヒント
設定できます ERL_COMPILER_OPTIONS
.