問題タブ [reltool]
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 - Reltool エラー「2 つの異なるアプリケーションに含まれている可能性があります」
reltoolの次の動作の背後にある理由は何だろうと思っていました。
reltool.configデフォルトmod_condとオプションを使用し、incl_cond含まれているアプリケーションの 1 つにモジュールがあり、そのモジュールがたまたまマシンにインストールされているが、リリースには含まれていないアプリケーションの一部である場合、reltool:get_target_spec/1は次を返します。
{error, "Module <some_module> potentially included by two different applications: <system_app> and <my_app>."}
<system_app>私のリリースの一部ではないので(直接的でも間接的でもありません)、これは面倒です。reltool は、それ<system_app>が私のリリースに含まれないことを実際に把握できませんか? それが理由"potentially included"ですか?
とにかく、私のリリースを生成するために、ビルドを行うマシンの Erlang/OTP システムにたまたまインストールされているため、醜い<system_app>viaを明示的に除外する必要があります (他のシステムにはインストールされていない可能性があります)。私のリリースとは何の関係もありません。実際の例: tsung-1.4.3にはモジュールが含まれているため、インストール済みのマシン (他のマシンではなく)にアプリを含める必要がある独自のリリースをビルドする際に問題があります。別のオプションは、トップレベルをからに変更することです{app, <system_app> [{incl_cond, exclude}]}<system_app>root_dirmochijson2mochiwebtsungincl_cond{incl_cond, derived}{incl_cond, exclude}次に、リリースの一部にしたいすべてのアプリケーションを手動で含めますが、これはより優れています (どのビルドマシンでも動作します) が、手動で行う必要があるため、まだ優れていません (依存関係を把握するために relltool に依存したい) .
では、なぜこのような状況になったのでしょうか。ビルド マシンに何らかのアプリケーションが存在するだけで、上記のreltoolエラーが発生するのはなぜですか?
PS 補足として、現在のバージョンのreltool_server.erlの 907 ~ 909 行にバグが含まれていると思いますbad argument。
erlang - Reltoolはライブラリを起動しようとします
Reltool でリリースをビルドしています。ブートファイルで起動しようとすると、エラーが発生します:
しかし、z_validate はライブラリであり、開始したくありません。ブートスクリプトから除外するにはどうすればよいですか?
erlang - 鉄筋アプリケーションを異なる名前で 2 回以上起動する方法は?
ピンポンと呼ばれる鉄筋アプリケーションがあります。rebar generateを使用してパッケージ化されたアプリケーションを起動した後./rel/pingpong/bin/pingpong start。問題は、erlang VM が常に名前を持って-name pingpong@127.0.0.1いることですが、私が望むのは、アプリケーションを名前で一度起動し、ping@127.0.0.1次に名前で起動することですpong@127.0.0.1。
名前が ./rel/pingpong/releases/VSN/vm.config にあることはわかっていますが、アプリケーションを開始する前にファイルを手動で編集したくありません。のようなものが欲しいpingpong start -name=ping。これを達成する方法はありますか?
erlang - 鉄筋:アプリケーションディレクトリがありません
鉄筋をテストしています
- Windows 8 64Bis
- Erlang64ビットR15B02
githubコードからrebarをコンパイルし、基本的なアプリを作成しました
reltoolのドキュメントを読んでいますが、application dirについて何も見つかりません。関連する唯一のオプションはincl_cond、デフォルトでrebarコマンドによって定義されています。
src / testapp.app.src
rel / reltool.config
erlang - 鉄筋フレンドリーな pkg を使用する rabbitmq-erlang-client は、開発環境で動作します 鉄筋リリースで失敗します
シンプルなHello World rebarizedおよびOTP「準拠」アプリにrabbitmq-erlang-clientのrebarフレンドリーパッケージを正常に使用しており、開発環境で問題なく動作しています。erl コンソールを起動しapplication:start(helloworld).てブローカーに接続し、チャネルを開き、キューと通信することができます。
しかし、その後、作業を進めrebar generate、リリースは問題なくビルドされますが、自己完結型のリリース パッケージから起動しようとすると、事態が突然爆発します。
rebar リリースが不明瞭な技術であることはわかっていますが、rabbitmq-erlang-client を使用したアプリの展開に関して、どのようなオプションがあるか知りたいです。
以下に、クラッシュ時のコンソールの出力を示します。
編集:コメントで要求されたとおり。
reltool.config
erlang - systools.make_tar が .ez アーカイブで .app ファイルを見つけられない
でリリースを作成していreltoolます。出力フォルダーには、フォルダーがアーカイブにパックされrel/libたすべてのアプリケーションが含まれます。ebin.ezcrypto
erlフォルダから始めrelます。フォルダーへのパスebinはコード パスにあります。つまり、code:get_path().特に戻ります (フォルダー内の他のアプリについても同様ですlib)。
しかし、それを呼び出そうとするとsystools:make_tar("releases/0.1/project").、ファイルが見つからないと不平を言い.appます(リリースで言及されているすべてのアプリについて):
.appファイルがアーカイブにあることがわかりますが、何らかの理由でそれを見ることができないだけですsystools。オプションを使用してebin呼び出すときにフォルダーを指定しようとしましたが、機能していないようです (欠落している同じエラー)。また:make_tarpathcrypto.app
私に与えます:{error,enotdir}。
たぶんsystools、まだアーカイブを処理していませんか? で作成されたリリースから tar アーカイブを作成する他の方法はありますreltoolか? どんな助けでも大歓迎です。
erlang - rebar を使用して複数のアプリケーションでライブラリを共有するには?
次のようなプロジェクト構造があります。
と 、とに依存、game_serverとlogin_serverにgame_server依存を配布したい。common_lib_1common_lib_2login_servercommon_lib_1common_lib_3
と で実行rebar create-node nodeid=xxxするrel/game_serverとrel/login_server、 を使用して配布を作成するrebar generateと、多数の重複ファイルが生成されます。
次のようなきれいな構造でそれらを配布したい:
すべてのアプリケーションがライブラリを共有することを期待しています。それらには独自の起動スクリプト、vm および sys 構成があります。
これを行うには、クリーンな reltool.config を作成する方法を教えてください。
erlang - Elixir with Mix はどのようにデーモンを作成しますか?
Elixir と Mix はすべて、サーバーをデーモンとして作成したいと考えています。正しい方法を見つけることができませんでした。
さらに、erlang reltool を使用したいと考えています。