私はyawsのドキュメントとWeb検索を使用してこの問題のトラブルシューティングを試みるのに数時間を費やしました。ここにある既存のスレッドは私を助けませんでした。yawを組み込みモードで起動するにはどうすればよいですか?
私はerlangに新しく、http://yaws.hyber.org/embed.yawsで提供されているサンプルコードを使用して埋め込みモードでヨーイングを実行しようとしています。私はそれを働かせることができないので、何かが欠けている。
ybed.app
{application, ybed_app,
[
{description, "Yaws Embedded Application Test"},
{vsn, "0.1.0"},
{registered, []},
{applications, [kernel, stdlib, yaws]},
{mod, {ybed_app, []}},
{env, []}
]}.
ybed_app.erl
-module(ybed_app).
-behaviour(application).
%% Application callbacks
-export([start/2,
stop/1]).
start(_StartType, _StartArgs) ->
case ybed_sup:start_link() of
{ok, Pid} ->
{ok, Pid};
Other ->
{error, Other}
end.
stop(_State) ->
ok.
ybed_sup.erl
-module(ybed_sup).
-behaviour(supervisor).
%% API
-export([start_link/0]).
%% Supervisor callbacks
-export([init/1]).
start_link() ->
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
init([]) ->
YBed = {ybed, {ybed,start,[]},
permanent,2000,worker,[ybed]},
{ok,{{one_for_all,0,1}, [YBed]}}.
ybed.erl
-module(ybed).
-compile(export_all).
start() ->
{ok, spawn(?MODULE, run, [])}.
run() ->
Id = "embedded",
GconfList = [{id, Id}],
Docroot = "/tmp",
SconfList = [{port, 8000},
{servername, "foobar"},
{listen, {127,0,0,1}},
{docroot, Docroot}],
{ok, SCList, GC, ChildSpecs} =
yaws_api:embedded_start_conf(Docroot, SconfList, GconfList, Id),
[supervisor:start_child(ybed_sup, Ch) || Ch <- ChildSpecs],
yaws_api:setconf(GC, SCList),
{ok, self()}.
:私は4つのファイルを持っています
私はそれをコンパイル(首尾よく)し、アプリケーションを起動しようとすると、私は戻り値を取得する:
{error,{not_loaded,yaws}}
私はコンパイルybed.erlを実行しようとするとは、ybed:実行を()、私が手:
** exception error: undefined function yaws_api:embedded_start_conf/4
in function ybed:run/0 (src/ybed.erl, line 16)
私がアプリケーションを起動する前にヨーイングを開始しても、まだ動作しません。
まだリリースをビルドしようとしていません。組み込みモードでヨーイングをコンパイルしてテストするだけです。私が何が欠けているか教えてもらえますか?あなたがエラー
** exception error: undefined function yaws_api:embedded_start_conf/4
in function ybed:run/0 (src/ybed.erl, line 16)
を取得するとあなたは明確にあなたのcode
server検索パスにyaws_api.beam
を持っていない、事前
ありがとうございます! VMやアプリケーションの設定にすべてのビームパスを含めるなど、私のようなnoobsにとってはちょっとしたことです。これは私の問題を解決しました。 – Will