0

http://maplekeycompany.blogspot.in/2012/03/very-basic-cowboy-setup.htmlリンクをたどりましたが、このプロジェクトを実行すると、カウボーイ start_listener() が定義されていないことを示すクラッシュ レポートが表示されます。

=CRASH REPORT==== 12-Aug-2014::10:08:06 ===
  crasher:
    initial call: simple_server_http:init/1
    pid: <0.66.0>
    registered_name: []
    exception exit: {undef,
                     [{cowboy,start_listener,
                       [http,16,cowboy_tcp_transport,
                        [{port,8082}],
                        cowboy_http_protocol,
                        [{dispatch,
                          [{'_',
                            [{[],simple_server_http_static,
                              [<<"html">>,<<"index.html">>]},
                             {'_',simple_server_http_catchall,[]}]}]}]],
                       []},
                      {simple_server_http,init,1,
                       [{file,"src/simple_server_http.erl"},{line,45}]},
                      {gen_server,init_it,6,
                       [{file,"gen_server.erl"},{line,306}]},
                      {proc_lib,init_p_do_apply,3,
                       [{file,"proc_lib.erl"},{line,239}]}]}
      in function  gen_server:init_it/6 (gen_server.erl, line 330)
    ancestors: [simple_server_sup,<0.64.0>]
    messages: []
    links: [<0.65.0>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 610
    stack_size: 27
    reductions: 913
  neighbours:

=SUPERVISOR REPORT==== 12-Aug-2014::10:08:06 ===
     Supervisor: {local,simple_server_sup}
     Context:    start_error
     Reason:     {undef,
                  [{cowboy,start_listener,
                    [http,16,cowboy_tcp_transport,
                     [{port,8082}],
                     cowboy_http_protocol,
                     [{dispatch,
                       [{'_',
                         [{[],simple_server_http_static,
                           [<<"html">>,<<"index.html">>]},
                          {'_',simple_server_http_catchall,[]}]}]}]],
                    []},
                   {simple_server_http,init,1,
                    [{file,"src/simple_server_http.erl"},{line,45}]},
                   {gen_server,init_it,6,[{file,"gen_server.erl"},{line,306}]},
                   {proc_lib,init_p_do_apply,3,
                    [{file,"proc_lib.erl"},{line,239}]}]}
     Offender:   [{pid,undefined},
                  {name,simple_server_http},
                  {mfargs,{simple_server_http,start_link,[]}},
                  {restart_type,permanent},
                  {shutdown,5000},
                  {child_type,worker}]

このエラーの意味と解決方法を教えてください。

4

1 に答える 1

1

このエラー メッセージは、45 行目のモジュール simple_server_http によって呼び出された関数 cowboy:start_listener/6 が存在しないことを示しています。github でカウボーイ モジュールのコード ソースを確認しましたが、この関数は実際には存在しません。そのため、ブログのコードは現在のバージョンのカウボーイでは実行できません。

古いバージョン (2011 年 12 月) の erlang バージョン R15B を使用するように指定されているため、カウボーイの以前のバージョンを見ることができます: バージョン 0.6.0 はこの機能を提供していました --> github からソースを取得します

于 2014-08-12T06:13:04.493 に答える