나는 Yaws를 탐구하고 있으며 Yaws 매뉴얼과 Erlang 책으로 웹 애플리케이션 구축하기를 읽었습니다. 나는 multi_cast
응용 프로그램이 빌드 된 책의 마지막 장에서 모든 단계를 밟았지만 실행할 수는 없습니다. 나는 그것이 발견되거나 사용되지 않는 Erlang 코드라고 믿는다.Yaws에서 Erlang 코드와 프로젝트 실행 (ebin_dir)
는 내 홈 디렉토리에 프로젝트 디렉토리를 가지고와 나는 .yaws
파일이있는 htdocs
디렉토리가있는 내 프로젝트 디렉토리에이 특정 가상 서버 딸기 종 docroot
을 지적했습니다.
<server localhost>
port = 8001
listen = 127.0.0.1
docroot = <my_path_here>/erlang_yaws/multi_cast
</server>
나는 또한 project's에 ebin
디렉토리를 가리 키도록 ebin_dir
을 변경했습니다 : 내가있어 몇 가지 간단한 .yaws
파일에 갈 수 yaws -i
와 딸기 종을 시작하면
ebin_dir = <my_path_here>/erlang_yaws/multi_cast/_build/default/lib/multi_cast/ebin
을하는 프로젝트의 .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
응용 프로그램이 제대로 시작되지 않거나 때문이다 믿는다 찾지 못했습니까? 소스 코드가 성공적으로 컴파일 된 것 같습니다.
저는 Yaws 2.0.4, Erlang 19가있는 MacOS Sierra를 사용 중이며 homebrew
으로 정규 Yaws를 설치했습니다.
또한 Yaws와 간단한 응용 프로그램을 구성하는 방법을 철저히 설명하는 리소스가 있습니까? 매뉴얼과 책 모두를 읽으면이 설명에 실패합니다 (또는 나는 정말로 두껍습니다). 그리고 사용자 경험의 관점에서 볼 때 상당히 실망합니다.