【问题标题】:How to fix 'Failed to start ejabberd application: Invalid value of option modules: unknown ejabberd module' when starting ejabberd 19.08如何在启动 ejabberd 19.08 时修复“无法启动 ejabberd 应用程序:选项模块的值无效:未知 ejabberd 模块”
【发布时间】:2019-12-26 17:55:04
【问题描述】:

我正在使用最新的 ejabberd 版本 18.09 设置新的 ejabberd 环境。我曾经有一个自定义模块“mod_offline_http_post_ext”来处理离线消息,模块源可以在这里找到https://github.com/tareqassi/mod_offline_http_post_ext/blob/master/src/mod_offline_http_post_ext.erl

mod_offline_http_post_ext 过去与 ejabberd 19.02 配合得很好,但现在 Ejabberd 19.08 无法启动,原因是“无法启动 ejabberd 应用程序:选项模块的无效值:未知的 ejabberd 模块:mod_offline_http_post_ext。您的意思是 mod_offline_http_post_ext”错误。

通过./ejabberdctl module_install命令成功添加模块失败,执行./ejabberdctl modules_installed后显示在列表中。

我已尝试按照https://docs.ejabberd.im/developer/extending-ejabberd/modules/ 此处的说明创建自定义模块并添加了 gen_mod 现在需要的两个新功能。

【问题讨论】:

  • 我也有同样的问题

标签: ejabberd ejabberd-module


【解决方案1】:

我已尝试按照此处的说明进行操作 https://docs.ejabberd.im/developer/extending-ejabberd/modules/ 到 创建自定义模块并添加了现在的两个新功能 gen_mod 需要。

没错,确保您的源代码包含 mod_hello_world.erl 导出的所有函数。我将该文件复制到我的 ejabberd/src,然后将其添加到 ejabberd.yml,重新编译 ejabberd,安装它,然后正确启动。

因此,在您的情况下,您要么忘记添加其中一项必需的功能……要么 ejabberd 仍在使用旧的 *.beam 文件,而不是更新后的文件。

如果您从源代码编译 ejabberd,请尝试以下操作:将模块源代码复制到 ejabberd/src,重新编译,重新安装,删除 ~/.ejabberd-modules 中的模块,然后重新启动。这只是为了确保问题出在源代码中,还是在安装中(重复文件...)

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2020-09-05
    • 2016-01-13
    • 2013-02-12
    • 2016-01-12
    • 1970-01-01
    相关资源
    最近更新 更多