2013-02-11 6 views
0

Webmachine과 ErlyDtl을 기반으로하는 간단한 응용 프로그램 ./start를 시작하면 작동합니다. 철근이있는 릴리즈를 실행하려고하면 시작되지만 요청을 실행하면 다음 오류로 인해 실패합니다. 나는 컴파일러를 포함 시키려고 노력했다 ... 여전히 도움이되지 않는 뭔가가 빠져 있지만 어떻게 감지 할 수 있는지 전혀 모른다.철근으로 풀어 놓은 상태로 단독 작업 만 가능

{error, 
{error,undef, 
    [{erlydtl_runtime,find_value,[param,[{param,"Slartibartfast"}]],[]}, 
    {index_dtl,render_internal,4,[]}, 
    {index_dtl,render,2,[]}, 
    {web_resource,to_html,2,[{file,"src/web_resource.erl"},{line,13}]}, 
    {webmachine_resource,resource_call,3, 
     [{file,"src/webmachine_resource.erl"},{line,183}]}, 
    {webmachine_resource,do,3, 
     [{file,"src/webmachine_resource.erl"},{line,141}]}, 
    {webmachine_decision_core,resource_call,1, 
     [{file,"src/webmachine_decision_core.erl"},{line,48}]}, 
    {webmachine_decision_core,decision,1, 
     [{file,"src/webmachine_decision_core.erl"},{line,555}]}]}} 

여기에 어떤 도움이 크게 감사합니다

{sys, [ 
    {lib_dirs, ["../apps", "../deps"]}, 
    {erts, [{mod_cond, derived}, {app_file, strip}]}, 
    {app_file, strip}, 
    {rel, "numbes", "1", 
    [ 
    web, 
    cowboy, 
    crypto, 
    ranch, 
    kernel, 
    mochiweb, 
    compiler, 
    webmachine, 
    stdlib, 
    inets, 
    sasl 
    ]}, 
    {rel, "start_clean", "", 
    [ 
    kernel, 
    stdlib 
    ]}, 
    {boot_rel, "numbes"}, 
    {profile, embedded}, 
    {incl_cond, exclude}, 
    {excl_archive_filters, [".*"]}, %% Do not archive built libs 
    {excl_sys_filters, ["^bin/.*", "^erts.*/bin/(dialyzer|typer)", 
         "^erts.*/(doc|info|include|lib|man|src)"]}, 
    {excl_app_filters, ["\.gitignore"]}, 
    {app, sasl, [{incl_cond, include}]}, 
    {app, stdlib, [{incl_cond, include}]}, 
    {app, kernel, [{incl_cond, include}]}, 
    {app, cowboy, [{incl_cond, include}]}, 
    {app, crypto, [{incl_cond, include}]}, 
    {app, inets, [{incl_cond, include}]}, 
    {app, mochiweb, [{incl_cond, include}]}, 
    {app, ranch, [{incl_cond, include}]}, 
    {app, compiler, [{incl_cond, include}]}, 
    {app, webmachine, [{incl_cond, include}]}, 
    {app, web, [{incl_cond, include}]} 
    ]}. 

{target_dir, "numbes"}. 

{overlay, [ 
     {mkdir, "log/sasl"}, 
     {copy, "files/erl", "\{\{erts_vsn\}\}/bin/erl"}, 
     {copy, "files/nodetool", "\{\{erts_vsn\}\}/bin/nodetool"}, 
     {copy, "files/numbes", "bin/numbes"}, 
     {copy, "files/numbes.cmd", "bin/numbes.cmd"}, 
     {copy, "files/start_erl.cmd", "bin/start_erl.cmd"}, 
     {copy, "files/install_upgrade.escript", "bin/install_upgrade.escript"}, 
     {copy, "files/sys.config", "releases/\{\{rel_vsn\}\}/sys.config"}, 
     {copy, "files/vm.args", "releases/\{\{rel_vsn\}\}/vm.args"} 
     ]}. 

내 reltool.config입니다.

+0

'reltool.config'을 붙여 주실 수 있습니까? [this] (http://stackoverflow.com/a/13951958/113848)와 비슷한 문제 일 수 있습니다. – legoscia

+0

@legoscia reltool.config가 추가되었습니다. – ruslander

답변

1

내가 로그 파일을 볼 수있는 유일한 것은 erlydtl_runtime 모듈이 릴리스에 포함되어 있지 않거나 적어도 검색 경로에 포함되어 있지 않다는 것입니다.

누락 된 모듈이있는 경우에도 응용 프로그램이 시작되는 것이 정상적입니다. 기본적으로 응용 프로그램은 모듈을 처음 호출 할 때만 모듈을로드하려고 시도합니다.

+0

네, 맞습니다. 빠진 의존성입니다. erlydtl – ruslander