17

metabrewのLast.fmのRichardは、彼のアプリをErlangに移植しました。これは、riak、couchdbなどによっても行われました。彼は、必要な部分を抽出すること、またはVM全体をディストリビューションに含めることに言及しています。ここでの主な特徴は次のとおりです。プログラムでは、ターゲットマシンにErlangをインストールする必要はありません。

では、問題は、ErlangプログラムをWindows(そしてそれほど重要ではないがLinux)の実行可能ファイルにどのようにパッケージ化するかということです。

PS私はSAEプロジェクトを見てきました、そして私はここですべての関連する質問を読みました。誰も私の質問に答えません。

4

1 に答える 1

8
  1. Erlang のポータブル バージョンを作成します (たとえば、このディスカッション グループの方法を使用します: Erlang on Windows from USB )。この演習で最も重要な部分は、erl.ini任意の場所から Erlang を起動するために使用できる正しいパスを含むファイルを作成することです。
  2. アプリケーションの Erlang リリースとリリース ブート スクリプトを作成します。手順については、リリースに関する Erlang ドキュメントを参照してください。
  3. アプリケーションを起動するための Windows コマンド ライン スクリプトを作成します。これは単に、ブート スクリプトをパラメータとして Erlang を実行します (例: erl -boot someapp)。Erlang はerl.iniファイルを読み取って、アプリケーションとシステム ライブラリを正しい場所からロードします。
  4. 関連するすべてのパーツがパッケージ化された Windows セットアップ アプリケーションを作成します。
    • アーラン分布
    • erl.iniセットアップ アプリケーションによって入力される変数としてすべてのパスを含むファイル
    • アプリケーションのリリース (すべてのビーム ファイルとブート スクリプト)
    • ブート スクリプトを使用してアプリケーションを起動するためのコマンド ライン スクリプト

Windows インストーラーの観点からの動作方法:

  • アプリケーションのインストール先をユーザーに尋ねます (または、Program Files の既定の場所を使用します)。
  • Erlang ディストリビューション、アプリケーション、およびブート スクリプトを正しい場所にコピーします。
  • 選択した場所を使用するための更新erl.iniとコマンド ライン スクリプト
  • コマンド ライン スクリプトを実行するアイコンまたは自動起動エントリを作成する

ユーザーがアイコンをクリックするか、別の方法でコマンド ライン スクリプトを実行すると、実際にはカスタムの場所から Erlang が実行され、Erlang ブート スクリプトに従ってアプリケーションが起動されます。コマンド ライン スクリプトは、たとえば、ユーザーがアプリケーションを 2 回目に起動したときに Erlang がまだ実行されていないかどうかをチェックする必要があるため、またはアンインストールできるようにする必要がある場合があるため、これは単なる一般的な考え方です。

于 2012-08-15T11:54:34.297 に答える