私はYawsを調べています。私はYawsのマニュアルとErlangの本を使ってWebアプリケーションを構築しています。私はmulti_cast
アプリが構築されている本の最後の章のすべてのステップに従ってきましたが、実行できません。私はそれが見つけられたり使用されていないErlangコードだと信じています。YawsでErlangコードとプロジェクトを実行する(ebin_dir)
私は私のホームディレクトリにプロジェクトのディレクトリを持っていると私は.yaws
ファイルとhtdocs
dirが存在する私のプロジェクトディレクトリに、この特定の仮想サーバー用のイチゴ腫docroot
を指摘しました。
<server localhost>
port = 8001
listen = 127.0.0.1
docroot = <my_path_here>/erlang_yaws/multi_cast
</server>
と私はebin_dir
がproject's ebin
ディレクトリにも指すように変更しました:
ebin_dir = <my_path_here>/erlang_yaws/multi_cast/_build/default/lib/multi_cast/ebin
yaws -i
でイチゴ腫を開始すると、私は私が持っているいくつかの単純な.yaws
ファイルに行くことができますプロジェクトの.beam
ファイルのどれにも依存しないでください。私はアプリのコンパイルされたファイルに依存している.yaws
ファイルに自分のブラウザの場所を変更する場合しかし、私は次のエラーを取得:
=ERROR REPORT==== 21-Jan-2017::14:27:17 ===
ERROR erlang code threw an uncaught exception:
File: <my_path_here>/erlang_yaws/multi_cast/htdocs/status.yaws:1
Class: exit
Exception: {noproc,{gen_server,call,[multi_cast_front,{get_etag}]}}
Req: {http_request,'GET',{abs_path,"/htdocs/status.yaws"},{1,1}}
Stack: [{gen_server,call,2,[{file,"gen_server.erl"},{line,204}]},
{m_27449121_1,out,1,
[{file,"<my_path_here>/.yaws/yaws/default/m_27449121_1.erl"},
{line,35}]},
{yaws_server,deliver_dyn_part,8,
[{file,"yaws_server.erl"},{line,2872}]},
{yaws_server,aloop,4,[{file,"yaws_server.erl"},{line,1242}]},
{yaws_server,acceptor0,2,[{file,"yaws_server.erl"},{line,1065}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]
を私はこれが私のgen_server
アプリが正常に起動するかしないという事実によるものであると信じて見つからない?ソースコードが正常にコンパイルされているようです。
私はMacOS SierraでYaws 2.0.4、Erlang 19を使っています。私は普通のYawsをhomebrew
でインストールしました。
また、Yawsと単純なアプリケーションの構造を完全に説明するリソースはありますか?マニュアルと本の両方を読んで、これを説明するのに失敗します(または私は本当に厚いです)。そして、ユーザーエクスペリエンスの観点から立ち往生するのはかなりイライラです。