Я изучаю Yaws, и я прочитал руководство Yaws и Building Web Applications с книгой Erlang. Я следил за каждым шагом в последней главе книги, где создано приложение multi_cast
, но я не могу его запустить. Я считаю, что это код Erlang, который не найден или не используется.Запуск кода и проектов Erlang в Yaws (ebin_dir)
У меня реж проекта в моем домашнем каталоге, и я указал фрамбезию docroot
для данного виртуального сервера в мой каталог проекта, где htdocs
режа с .yaws
файлами проживает.
<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 и простое приложение? Читая как руководство, так и книгу, и оба не могут объяснить это (или я действительно толстый), и довольно сложно застревать с точки зрения пользователя.