問題タブ [rebar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
erlang - 鉄筋生成:enotdirエラー
otpアプリケーションの鉄筋リリースを設定しようとしています。私はこのガイドに従いました:https ://github.com/basho/rebar/wiki/Getting-started
リリースを生成しようとすると、多くのenotdirエラーが発生します。
これは私のバージョンのerlangです:
http://cloud.github.com/downloads/basho/rebar/rebarで鉄筋を入手しました(GettingStarted wikiページを参照)。
更新:詳細モードでは、関連のない警告が1つだけ追加されます。
unit-testing - 複数のアプリでの Eunit エラー
次のディレクトリ構造があります。
myapp
メインディレクトリで次のように rebar を使用して eunit を実行します。
の 3 つのアプリに対して eunit を正しく実行しますapps/
。その後、親myapp
ディレクトリで eunit を実行しようとし、次のエラーをスローします。
質問:これを修正したり、eunit が親myapp
ディレクトリに対して実行されないようにするにはどうすればよいですか?
メイン ディレクトリのrebar.config
ファイルはmyapp
次のようになります。
erlang - 鉄筋deps構成の要素の意味
プロジェクトの依存関係をプルするためにrebarを使用していますが、その多くはgithubからのものです。構成は次のようになります。
私は十分に理解しており、試行錯誤によっていくつかのことを学びました(たとえば、ブランチではなくタグとチェンジセットを指定する方法)が、私のgoogle-fuは何についての包括的なドキュメントを見つけることができませんオプションが利用可能であるか、それらが何をするか。
2番目の値の目的は(多くの場合空の文字列ですが、バージョン番号やワイルドカードが含まれていることがあります)ですが、ソース管理オプションに関する詳細情報、または一般的なドキュメントが役立つでしょう。
erlang - rebar eunit の実行時にランタイム引数を erlang に渡す
私のスタートアップ スクリプトでは、次のように erlang を開始しています。
現在、単体テストを実行しようとしてrebar eunit
いるときに、-args_file オプションなどのカスタム ランタイム引数を rebar が開始する erlang プロセスに渡す方法はありますか? ドキュメントを高低から無駄に検索しました...
助けてくれてありがとう。
postgresql - 鉄筋でリリースを開始できませんでしたepgsqlを生成します
鉄筋を使用してリリースアプリケーションを生成し、キーコンソールで起動しようとすると、エラーが発生します
{"initはdo_bootで終了します"、{'cannotload'、pgsql、get_file}}。
すべてのファイルapp.srcとreltool.configに、epgsqlアプリが追加されています。
app.src:
reltool.config
erlシェルから起動するとすべて問題ありませんが、リリースを生成するとエラーが発生します。epgsqlアプリをオフにすると、正常に起動し、すべてのアプリ(crypto、ssl、public_keyがロードされます)が表示されますが、epgsqlを再度追加するとエラーが発生します。
私は何が間違っているのですか?
erlang - Rebar: "リリース mynode は存在しないアプリケーション mynode を使用します"
Rebar を使用して簡単な Erlang アプリをセットアップしようとしましたが、うまく動作しません。http://skeptomai.com/?p=56の指示に従いましたが、 を実行すると、次の./rebar -v generate
エラーが表示されます。
https://bitbucket.org/basho/rebar/wiki/ReleaseHandlingに従うと、同様のエラーが発生します。http://www.metabrew.com/article/erlang-rebar-tutorial-generating-releases-upgradesに従うと、次のようになります。
鉄筋を機能させるにはどうすればよいですか? 私のErlangのバージョンはErlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]
git - Gitサブモジュールと鉄筋
私のアプリケーションはMochiwebを使用しています。私が理解しているように、rebar
実行時にGithubから最新バージョンをフェッチします。これは、次make
の行があるためですrebar.config
。
私のアプリケーションにはVCSがあり、それはgitです。したがって、基本的に私は別の内部に1つのgitリポジトリを持っています:
別のリポジトリ内にgitリポジトリを追加するのは良い考えではないことを私は知っています(git add .
)。代わりに、Gitサブモジュール機能を使用する必要があります。
そこで、deps/mochiweb
メインのgitリポジトリにサブモジュールとしてディレクトリを追加しました。
問題は、別の開発者がメインリポジトリを複製するときに、取得するために最初にサブモジュールinit
とサブモジュールを複製する必要があることです(そうでない場合は空になります)。update
deps/mochiweb
開発者がmake
メインリポジトリのクローンを作成した直後に実行する場合、Makefileは次のように言います。
私の質問は次のとおりです。Gitサブモジュールを使用せずに他の開発者が簡単に更新できるように、Erlangアプリのdepsに別のアプリを追加する適切な方法は何ですか?
makefile - Mochiweb: 他のライブラリをインクルードしてコンパイルする
私のアプリは Mochiweb を使用しています。
Mochiweb ファイルがディレクトリに存在し、myapp/deps/mochiweb
ディレクトリでrebar
make を実行するとコンパイルされることに気付きましたmyapp
。
ibrowse
アプリに http リクエストを行ういくつかのテストを作成するために追加したいと思いました。そこでibrowse
、github からmyapp/deps/ibrowse
ディレクトリにクローンを作成しました。
.beam
しかし、Erlang はファイルを取得する場所を認識していないようで、モジュールibrowse
を使用するすべてのテストが失敗します。ibrowse
Mochiweb ベースのアプリで他の Erlang/OTP 外部ライブラリを使用するにはどうすればよいですか?
そのために rebar.config または Makefile を編集する必要がありますか? それとも、_app.src ファイルを編集する必要がありますか?
編集: myapp_sup.erl ファイル内のディレクトリのリストを編集する必要がありますか? ( myapp_deps:local_path(["priv", "www"]
)
PS アプリはすべての mochiweb.beam ファイルが存在する場所をどのように認識しますか? (たとえば、ジェネリックmyapp_web.erl
はモジュールへの呼び出しを使用しますが、ディレクトリmochiweb_http
にはありません)。mochiweb_http.beam
myapp/ebin
erlang - 使用可能なすべてのreltoolオーバーレイテンプレート変数を確認するにはどうすればよいですか?
私は鉄筋とreltoolを使ったかなり標準的なOTPセットアップを持っています。vars.configを使用してオーバーレイテンプレート変数を交換するようにreltoolを設定しましたが、vars.configに{overlay_vars, "files/vars.config"}.
リストしたもの以外の変数もオーバーレイテンプレート変数として機能することに気付きました。その中で最も明白なものはです{{erts_vsn}}
。
他にも組み込み変数があると思います。どうすればそれらが何であるかを見つけることができますか?私はreltoolのドキュメントを調べましたが、何も思いつきませんでした。
erlang - erlang application:start または included_applications とスーパーバイザーをいつ使用するか?
deps ディレクトリが別のアプリケーションに依存している Erlang アプリケーションがあります。
私が理解していることから、私は次のいずれかを行うことができます。
a) application:start(some_other_app) を呼び出して、インクルード アプリケーションから従属アプリケーションを開始します。これにより、アプリケーションが開始され、Observer 内でスタンドアロンで実行されていることが示されます。
b) {included_applications, [some_other_app]} を使用して依存アプリケーションを .app ファイルに含めて、アプリケーションが読み込まれ、開始されないようにしてから、含まれているアプリケーションを自分の最上位スーパーバイザーから開始します。これにより、含まれているアプリケーションが再び起動し、Observer の自分の監視階層の下で実行されていることが示されます。
私の質問は、いつどちらのアプローチを使用する必要があるかということです。オプション「a」を使用し、依存するアプリケーションが終了した場合、それは再起動されますか、それとも依存関係が監視されるようにアプローチ「b」を使用する必要がありますか?
余談ですが、依存関係のパッケージ化と管理には Rebar を使用しています。
ありがとう、
アンディ。