2015-04-10 3 views
0

Попытка проверить msgpack как зависимость в простейшем пакете релизов с использованием арматуры в Erlang/OTP.модуль не загружается. Msgpack erlang

Моя структура папок выглядит следующим образом

Project -> Приложения -> MyApp -> Эбин -> ЦСИ

  -> deps -> msgpack (folder) 

      -> rebar (exe) 

      -> rebar config 

      -> rel -> reltool.config 
        -> files (folder) 
        -> mynode (folder) 

Фрагмент кода функции & его handle_call:

num_pokes() -> 
    gen_server:call(?MODULE, num_pokes). 

handle_call(num_pokes, _From, State = #state{ num_pokes = PokeCount }) -> 
     MP = msgpack:pack(PokeCount), 
     io:format (" Message is packed : ~p~n", MP), 
     MuP = msgpack:unpack_stream(MP), 
     io:format (" Message is now UNpacked : ~p~n", MuP), 
     io:format (" Pokecount : ~p~n", PokeCount), 
    {reply, PokeCount, State}; 

Ошибка показывает: когда num_pokes() называется

=ERROR REPORT==== 10-Apr-2015::12:44:53 === 
** Generic server myapp_server terminating 
** Last message in was num_pokes 
** When Server state == {state,2} 
** Reason for termination == 
** {'module could not be loaded', 
     [{msgpack,pack,[2],[]}, 
     {myapp_server,handle_call,3,[{file,"src/myapp_server.erl"},{line,32}]}, 
     {gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,607}]}, 
     {gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,639}]}, 
     {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,237}]}]} 
** exception exit: {{undef, 
         [{msgpack,pack,[2],[]}, 
         {myapp_server,handle_call,3, 
          [{file,"src/myapp_server.erl"},{line,32}]}, 
         {gen_server,try_handle_call,4, 
          [{file,"gen_server.erl"},{line,607}]}, 
         {gen_server,handle_msg,5, 
          [{file,"gen_server.erl"},{line,639}]}, 
         {proc_lib,init_p_do_apply,3, 
          [{file,"proc_lib.erl"},{line,237}]}]}, 
        {gen_server,call,[myapp_server,num_pokes]}} 
    in function gen_server:call/2 (gen_server.erl, line 182) 

ответ

0

Pass -pa deps/msgpack/ebin к Эрл в качестве аргументов командной строки. Затем он найдет скомпилированные модули.

0

Структура папки, указывающая на mspack, была показана мной как ./deps (папка зависимостей). Это должно быть ./deps/msgpack

 Смежные вопросы

  • Нет связанных вопросов^_^