使用牛仔示例启动应用程序时出错('noproc',ranch_listener_sup)

时间:2017-01-24 16:00:20

标签: erlang otp cowboy rebar3

我正在尝试使用rebar3运行this牛仔示例: 牛仔版2.0.0-pre.5

我的工作是:

  1. rebar3 new app hello_world
  2. 将示例src复制到我的src
  3. 更新rebar.config {cowboy,".*", {git, "https://github.com/ninenines/cowboy", {branch, "master"}}}
  4. rebar3 compile。一切都很顺利
  5. erl -pa _build/default/lib/*/ebin
  6. application:start(hello_world).
  7. 然后发生错误

    {error,{bad_return,{{hello_world_app,start,[normal,[]]},
                        {'EXIT',{noproc,{gen_server,call,
                                                    [ranch_sup,
                                                     {start_child,{{ranch_listener_sup,http},
                                                                   {ranch_listener_sup,start_link,
                                                                                       [http,100,ranch_tcp,
                                                                                        [{connection_type,supervisor},{port,...}],
                                                                                        cowboy_clear,
                                                                                        #{connection_type => supervisor,...}]},
                                                                   permanent,infinity,supervisor,
                                                                   [ranch_listener_sup]}},
                                                     infinity]}}}}}}
    
    =INFO REPORT==== 24-Jan-2017::18:34:52 ===
        application: hello_world
        exited: {bad_return,
                    {{hello_world_app,start,[normal,[]]},
                     {'EXIT',
                         {noproc,
                             {gen_server,call,
                                 [ranch_sup,
                                  {start_child,
                                      {{ranch_listener_sup,http},
                                       {ranch_listener_sup,start_link,
                                           [http,100,ranch_tcp,
                                            [{connection_type,supervisor},
                                             {port,8080}],
                                            cowboy_clear,
                                            #{connection_type => supervisor,
                                              env => #{dispatch => [{'_',[],
                                                     [{[],[],toppage_handler,
                                                       []}]}]}}]},
                                       permanent,infinity,supervisor,
                                       [ranch_listener_sup]}},
                                  infinity]}}}}}
        type: temporary
    

    似乎runch_sup无法启动。 我的做法有什么问题? 我想运行与示例中完全相同的src代码。

1 个答案:

答案 0 :(得分:0)

  

Ranch 1.3默认依赖于ssl应用程序。如果你不这样做   启动它,Ranch无法启动。我建议在ok时匹配   做ok =应用程序:启动(App),你已经知道了很多问题   更快。

essen

here是问题