牛仔Web服务器在添加Ibrowse依赖性后,在启动时崩溃



我目前使用牛仔作为Web服务器框架在Erlang开发服务器。在启动时,我需要能够进行服务器端HTTP调用以从其他Web服务器获取文件,因此我在iBrowse

中包括了一个makefile依赖项

iBROWSE文档并未提及有关添加为牛仔依赖性的任何专门提及的内容,但是erlang.mk文档表示我只需要添加单行

DEPS = ibrowse

但是,一旦我添加这条线,牛仔就会以

在启动时崩溃
=INFO REPORT==== 15-Feb-2018::14:51:13 ===
    application: geo_server
    exited: {bad_return,
                {{geo_server_app,start,[normal,[]]},
                 {'EXIT',
                     {undef,
                         [{cowboy_router,compile,
                              [[{'_',
                                    [{"/",default_handler,[]},
                                     {"/client_info",client_info_handler,[]},
                                     {"/search",request_handler,[]}]}]],
                              []},
                          {geo_server_app,start,2,
                              [{file,"src/geo_server_app.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,geo_server,{bad_return,{{geo_server_app,start,[normal,[]]},{'EXIT',{undef,[{cowboy_router,compile,[[{'_',[{"/",default_handler,[]},{"/client_info",client_info_handler,[]},{"/search",request_handler,[]}]}]],[]},{geo_server_app,start,2,[{file,"src/geo_server_app.erl"},{line,8}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,273}]}]}}}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,geo_server,{bad_return,{{geo_server_app,start,[normal,[]]},{'EXIT',{undef,[{cowboy_router,compile,[[{'_',[{"/",default_handle
heart: Thu Feb 15 14:51:14 2018: Erlang is crashing .. (waiting for crash dump file)
heart: Thu Feb 15 14:51:14 2018: Would reboot. Terminating.
gmake: *** [erlang.mk:6639: run] Error 1

取走这种依赖,牛仔开始良好。

PROJECT = geo_server
PROJECT_DESCRIPTION = Geographic information server
PROJECT_VERSION = 0.1.0
DEPS = cowboy
dep_cowboy_commit = 2.2.2
DEP_PLUGINS = cowboy
include erlang.mk
DEPS = ibrowse

我是在线include elrang.mk之前还是之后放置DEPS = ibrowse


在其他方面进行了一些面条之后,这似乎是一个缓存的问题,以牛仔的make run过程有效。

添加iBrowse似乎需要对make run进行两个调用。如果我的代码崩溃,我必须添加,然后再次删除iBrowse,然后才能看到我的修订代码运行。

谢谢

Chris W

来自erlang.mk文档

deps应用程序列表此项目取决于需要 由erlang.mk。

提取

解决方案:deps =牛仔ibrowse

DEP只需要一次发生一次,并包含一个分离的依赖项列表

最新更新