无法安装任何ejabberd contrib模块

时间:2020-09-16 09:57:16

标签: ejabberd ejabberd-module

我正在尝试安装ejabberd-contrib模块。使用此guide

但是,当我运行ejabberdctl modules_update_specs时,什么也不会返回。

当我尝试安装任何单个模块时:

ejabberdctl module_install mod_pottymouth

 Failed RPC connection to the node ejabberd@localhost: {'EXIT',
                                                       {undef,
[{bitarray,new,
  [16777216,false],
  []},
 {etbloom,
  '-bloom/3-lc$^0/1-0-',
  2,
  [{file,
    "/var/lib/ejabberd/.ejabberd-modules/sources/ejabberd-contrib/mod_pottymouth/deps/etbloom/src/etbloom.erl"},
   {line,77}]},
 {etbloom,bloom,3,
  [{file,
    "/var/lib/ejabberd/.ejabberd-modules/sources/ejabberd-contrib/mod_pottymouth/deps/etbloom/src/etbloom.erl"},
   {line,77}]},
 {etbloom,sbf,4,
  [{file,
    "/var/lib/ejabberd/.ejabberd-modules/sources/ejabberd-contrib/mod_pottymouth/deps/etbloom/src/etbloom.erl"},
   {line,98}]},
 {bloom_gen_server,
  init,1,
  [{file,
    "/var/lib/ejabberd/.ejabberd-modules/sources/ejabberd-contrib/mod_pottymouth/src/bloom_gen_server.erl"},
   {line,28}]},
 {gen_server,init_it,
  2,
  [{file,
    "gen_server.erl"},
   {line,374}]},
 {gen_server,init_it,
  6,
  [{file,
    "gen_server.erl"},
   {line,342}]},
 {proc_lib,
  init_p_do_apply,3,
  [{file,
    "proc_lib.erl"},
   {line,249}]}]}}
Commands to start an ejabberd node:
  start      Start an ejabberd node in server mode
  debug      Attach an interactive Erlang shell to a running ejabberd node
  iexdebug   Attach an interactive Elixir shell to a running ejabberd node
  live       Start an ejabberd node in live (interactive) mode
  iexlive    Start an ejabberd node in live (interactive) mode, within an Elixir shell
  foreground Start an ejabberd node in server mode (attached)


ejabberdctl status
The node ejabberd@localhost is started with status: started

我该如何解决?

1 个答案:

答案 0 :(得分:1)

但是,当我运行ejabberdctl modules_update_specs时,什么也不会返回。

然后它可能会正常工作,否则它将返回一些错误,并且echo将返回1。例如,它正常工作并创建了路径:

$ ejabberdctl modules_update_specs

$ echo $?
0

$ ls $HOME/.ejabberd-modules/
sources

当我尝试安装任何单个模块时:

安装ANY模块会产生错误吗?例如,如果您尝试安装mod_rest,是否可行?请注意,这会报告有关文档的警告,这并不重要:

$ ejabberdctl module_install mod_rest
/home/badlop/.ejabberd-modules/sources/ejabberd-contrib/mod_rest/src/mod_rest.erl:27: Warning: undefined callback function mod_doc/0 (behaviour 'gen_mod')

$ ls $HOME/.ejabberd-modules/
mod_rest  sources

{'EXIT',{undef,[{bitarray,new,

是的,这是安装mod_pottymouth时的已知问题。该模块的README.txt文件中描述了安装该模块的解决方法。我现在已经按照这些说明进行操作,并且模块已正确编译和安装。