ここでの問題は、ErlangがLFEebinディレクトリを見つけられないことです。この問題を解決する2つの方法は次のとおりです。
スクリプト内またはスクリプトを呼び出すとき-pa <lfe ebin dir>
に、LFEを開始するときに明示的な引数を使用します。lfe.bat
シンプルだがハードワイヤード。
ERL_LIBS
環境変数を使用します。これについては、code
モジュールのドキュメントhttp://erlang.org/doc/man/code.htmlで説明されています。追加のErlangライブラリディレクトリを作成する場合、たとえばc:\projects\erlang
、LFEのようにErlangアプリケーションディレクトリ構造に従うErlangアプリをドロップし、それをポイントERL_LIBS
すると、コードサーバーはそこで見つけたebinディレクトリをコードパスに自動的に追加します。
これは、Ubuntu KarmicにLFEをインストールするにはどうすればよいですか?にも説明されています。しかし、UNIXのコンテキストでは。
このERL_LIBS
機能は間違いなくより適切に宣伝されるべきです。
編集: @ShantanuKumarのコメントに返信します。
Windowsマシンにアクセスできないため、適切にテストできません。問題は、少なくとも実行中は、Windowsでは動作しないように見えるlfe_boot
ポートプログラムを使用して起動しようとすることであるようです。試すべきいくつかの解決策:ttysl
erl.exe
werl.exe
代わりに使用してください。これはうまくいくかもしれませんが、とにかくやります。
(正しいロードパスを取得するために)通常の方法でErlangをwerl.exe -pa ebin
起動し、LFEシェルを手動で起動してみてくださいlfe_shell:server().
でErlangを起動してみてくださいwerl.exe -pa ebin -noshell -s lfe_shell start
。これはシェルlfe_shell
として実行されますが、使用できません。^G
また、LFEを実行するためにLFEシェルを使用する必要はありませんが、通常のErlangシェルを使用して、「通常の」方法でLFE関数を呼び出すことができます。2つのio形式で少し統合失調症になるかもしれませんが、問題はありません。:-)
お役に立てれば。