2017-02-16 30 views
0

я установил rebar3 и создал новый релиз сRebar3 + Ковбой Kernel PID Отменено

cd ~/apps rebar3 new release tunnel

Тогда

я скопировал мои src файлы из ~/tunnel/src/* в ~/apps/tunnel/src/

Я выбежала в компиляции с rebar3 run и найдено Erlang "Kernel pid terminated" error в качестве возможного решения. Я переименовал все о tunnel_app в tunnel. Так что мой src содержит tunnel.erl, tunnel.app.src и tunnel_sup.erl. При необходимости я переименовал определение модуля.

Вот rebar3 run ошибка:

~/apps/tunnel:.rebar3 run 
===> Verifying dependencies... 
===> Compiling tunnel 
===> Starting relx build process ... 
===> Resolving OTP Applications from directories: 
      /Users/quantum/apps/tunnel/_build/default/lib 
      /Users/quantum/apps/tunnel/apps 
      /usr/local/Cellar/erlang/19.2/lib/erlang/lib 
      /Users/quantum/apps/tunnel/_build/default/rel 
===> Resolved tunnel-0.1.0 
===> Dev mode enabled, release will be symlinked 
===> release successfully created! 
readlink: illegal option -- f 
usage: readlink [-n] [file ...] 
Exec: /usr/local/Cellar/erlang/19.2/lib/erlang/erts-8.2/bin/erlexec -boot /Users/quantum/apps/tunnel/_build/default/rel/tunnel/releases/0.1.0/tunnel -mode embedded -boot_var ERTS_LIB_DIR /usr/local/Cellar/erlang/19.2/lib/erlang/lib -config /Users/quantum/apps/tunnel/_build/default/rel/tunnel/releases/0.1.0/sys.config -args_file /Users/quantum/apps/tunnel/_build/default/rel/tunnel/releases/0.1.0/vm.args -pa -- console 
Root: /Users/quantum/apps/tunnel/_build/default/rel/tunnel 
/Users/quantum/apps/tunnel/_build/default/rel/tunnel 
Erlang/OTP 19 [erts-8.2] [source] [64-bit] [smp:8:8] [async-threads:30] [hipe] [kernel-poll:true] [dtrace] 


=INFO REPORT==== 16-Feb-2017::15:02:21 === 
    application: tunnel 
    exited: {bad_return, 
       {{tunnel,start,[normal,[]]}, 
       {'EXIT', 
        {undef, 
         [{cowboy_router,compile, 
           [[{'_', 
            [{"/info",lobby_handler,[]}, 
            {"/join/:name",join_handler,[]}, 
            {"/play/:table_pid/:name/:auth/:team/:action/:x/:y", 
             play_handler,[]}]}]], 
           []}, 
          {tunnel,start,2, 
           [{file, 
            "/Users/quantum/apps/tunnel/_build/default/lib/tunnel/src/tunnel.erl"}, 
           {line,8}]}, 
          {application_master,start_it_old,4, 
           [{file,"application_master.erl"}, 
           {line,273}]}]}}}} 
    type: permanent 
{"Kernel pid terminated",application_controller,"{application_start_failure,tunnel,{bad_return,{{tunnel,start,[normal,[]]},{'EXIT',{undef,[{cowboy_router,compile,[[{'_',[{\"/info\",lobby_handler,[]},{\"/join/:name\",join_handler,[]},{\"/play/:table_pid/:name/:auth/:team/:action/:x/:y\",play_handler,[]}]}]],[]},{tunnel,start,2,[{file,\"/Users/quantum/apps/tunnel/_build/default/lib/tunnel/src/tunnel.erl\"},{line,8}]},{application_master,start_it_old,4,[{file,\"application_master.erl\"},{line,273}]}]}}}}}"} 
Kernel pid terminated (application_controller) ({application_start_failure,tunnel,{bad_return,{{tunnel,start,[normal,[]]},{'EXIT',{undef,[{cowboy_router,compile,[[{'_',[{"/info",lobby_handler,[]},{"/j 

Crash dump is being written 

Почему этот сбой?

+0

почему вы скопировать в исходные тексты файлов из ~/туннельный/SRC/* в ~/приложений/туннельный/ЦСИ /? – byaruhaf

+0

@byaruhaf У меня уже были файлы проекта src в ~/tunnel/src. – quantumpotato

ответ

1

Если это ваш первый опыт работы с rebar3, я предлагаю начать с применения ОТР, а не релиз OTP:

rebar3 new app tunnel 

, а затем не слепо копировать исходные файлы, так как вы рискуете перезаписать файлы, были созданы для вас ниже src. Посмотрите содержимое этого каталога заранее.

Я также предлагаю потратить время, чтобы прочитать панель rebar3 https://www.rebar3.org/docs/basic-usage.

Вам также нужно будет прочитать, что такое приложение OTP. Я знаю, довольно много понять, а иногда и запутать. Свободным источником является http://learnyousomeerlang.com/building-applications-with-otp. Также стоит купить книгу об Эрланге. Есть несколько, я предлагаю https://www.manning.com/books/erlang-and-otp-in-action.

Существует также интерактивный курс, свободный, который начинается в течение нескольких дней (20 февраля 2017) https://www.mooc-list.com/course/functional-programming-erlang-futurelearn

+0

Спасибо! Я следил за https://gist.github.com/flbuddymooreiv/ce1d7a47b12c27bf1616. Я - пара глав позади этого в LearnYouSomeErlang, спасибо, что указали это. Я проверю курс и RTFM =) – quantumpotato

+0

А я вижу, что 'rebar3 release' делает несколько доступных приложений vs app только одним каталогом src – quantumpotato