Plugins 无法在Vernemq中启用插件

Plugins 无法在Vernemq中启用插件,plugins,erlang,Plugins,Erlang,我在vernemq中启用插件时遇到此错误 RPC to 'dev1@127.0.0.1' failed: {'EXIT', {{{badmatch, {error, {http_to_mqtt, {{shutdown,

我在vernemq中启用插件时遇到此错误

RPC to 'dev1@127.0.0.1' failed: {'EXIT',
                             {{{badmatch,
                                {error,
                                 {http_to_mqtt,
                                  {{shutdown,
                                    {failed_to_start_child,
                                     http_to_mqtt_web,
                                     {'EXIT',
                                      {{case_clause,
                                        {error,
                                         {undef,
                                          [{httpd_util,rfc1123_date,[],[]},
                                           {mochiweb_clock,handle_info,2,
                                            [{file,
                                              "src/mochiweb_clock.erl"},
                                             {line,88}]},
                                           {mochiweb_clock,init,1,
                                            [{file,
                                              "src/mochiweb_clock.erl"},
                                             {line,69}]},
                                           {gen_server,init_it,6,
                                            [{file,"gen_server.erl"},
                                             {line,306}]},
                                           {proc_lib,init_p_do_apply,3,
                                            [{file,"proc_lib.erl"},
                                             {line,237}]}]}}},
                                       [{mochiweb_http,ensure_started,1,
                                         [{file,"src/mochiweb_http.erl"},
                                          {line,76}]},
                                        {mochiweb_http,start,1,
                                         [{file,"src/mochiweb_http.erl"},
                                          {line,68}]},
                                        {supervisor,do_start_child,2,
                                         [{file,"supervisor.erl"},
                                          {line,314}]},
                                        {supervisor,start_children,3,
                                         [{file,"supervisor.erl"},
                                          {line,297}]},
                                        {supervisor,init_children,2,
                                         [{file,"supervisor.erl"},
                                          {line,263}]},
                                        {gen_server,init_it,6,
                                         [{file,"gen_server.erl"},
                                          {line,306}]},
                                        {proc_lib,init_p_do_apply,3,
                                         [{file,"proc_lib.erl"},
                                          {line,237}]}]}}}},
                                   {http_to_mqtt_app,start,
                                    [normal,[]]}}}}},
                               [{vmq_plugin_mgr,start_plugin,1,
                                 [{file,
                                   "/Users/sunnyjain/Desktop/vernemq/_build/default/lib/vmq_plugin/src/vmq_plugin_mgr.erl"},
                                  {line,489}]},
                                {vmq_plugin_mgr,start_plugins,1,
                                 [{file,
                                   "/Users/sunnyjain/Desktop/vernemq/_build/default/lib/vmq_plugin/src/vmq_plugin_mgr.erl"},
                                  {line,471}]},
                                {vmq_plugin_mgr,load_plugins,2,
                                 [{file,
                                   "/Users/sunnyjain/Desktop/vernemq/_build/default/lib/vmq_plugin/src/vmq_plugin_mgr.erl"},
                                  {line,410}]},
                                {vmq_plugin_mgr,update_plugins,2,
                                 [{file,
                                   "/Users/sunnyjain/Desktop/vernemq/_build/default/lib/vmq_plugin/src/vmq_plugin_mgr.erl"},
                                  {line,354}]},
                                {vmq_plugin_mgr,handle_plugin_call,2,
                                 [{file,
                                   "/Users/sunnyjain/Desktop/vernemq/_build/default/lib/vmq_plugin/src/vmq_plugin_mgr.erl"},
                                  {line,183}]},
                                {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,
                               [vmq_plugin_mgr,
                                {enable_plugin,http_to_mqtt,
                                 [{paths,
                                   ["/Users/sunnyjain/Desktop/practice/http_to_mqtt"]}]},
                                infinity]}}}
我用来启用插件的命令是:

vmq-admin plugin enable -n http_to_mqtt -p /Users/sunnyjain/Desktop/http_to_mqtt
如果我的PATH变量包含下面的路径,那么我不会得到上面的错误

/Users/sunnyjain/Desktop/vernemq/_build/default/rel/vernemq/bin
但当我改变人生道路

/Users/sunnyjain/Desktop/vernemq/_build/dev1/rel/vernemq/bin

然后我得到了错误。有人能告诉我为什么会出现错误,以及从“default”节点启用插件与从“dev1”节点启用插件有何不同。插件如何依赖于节点。

由于iNet应用程序未启动,因此出现此错误

要在vernemq中启用iNet,可以键入以下命令

vmq-admin plugin enable -n inets --path /usr/local/lib/erlang/lib/inets-5.10.6

这将删除错误。

根本原因(大致在错误消息的中间)是MoCiWeb不能在<代码> HTTPDYUTI/<代码>模块中调用一个函数,这是在<代码>中的< <代码> >应用程序中。我的猜测是,
default
版本包含
inets
应用程序,而
dev1
没有,或者由于某种原因缺少beam文件。是的,您的猜测是正确的。我必须在vernemq中启用inets应用程序作为插件。现在它正在工作。感谢您指出这一点。您可以将您的解决方案发布为您自己问题的答案,以便将来遇到相同错误的任何人都可以轻松找到解决方法。如果您需要在插件中启动“inets”,则应将其添加到插件的.app.src文件中的“application”部分。如果您正在执行此操作,“vmq管理插件启用-n'yourplugin'..”将在启动您的插件之前自动启动'inets'。@Andre它说{inets,{“没有这样的文件或目录”,“inets.app”}。我们是否必须在应用程序部分提供inets.app的路径?如果是,那么编写它的格式是什么?iNet应用程序没有打包为Erlang版本的一部分。我建议更改,将inets应用程序添加到relx配置中,并重新构建版本。我不建议使用
vmq admin plugin enable
启动VerneMQ插件以外的其他应用程序。