调用 Erlang 函数在 ejabberd 中创建用户

Call an Erlang function to create a user in ejabberd

我正在使用 erlang 18、ejabberd 15.09。我正在尝试创建聊天应用程序。为此,我必须使用 Erlang 为 ejabberd 创建用户。 为此,我使用了 erlang 函数 ejabberd_auth:try_register

ejabberd_auth:try_register(<<"username">>, <<"example.com">>, <<"secret_password">>).

产生如下错误:

exception error: undefined function stringprep:nameprep/1
in function jlib:nameprep/1 (src/jlib.erl, line 331)
in call from ejabberd_auth:auth_modules/1 (src/ejabberd_auth.erl, line 429)
in call from ejabberd_auth:is_user_exists/2 (src/ejabberd_auth.erl, line 323)
in call from ejabberd_auth:try_register/3 (src/ejabberd_auth.erl, line 187)

如何解决问题?

您似乎没有安装 stringprep 依赖项。 p1_stringprep (https://github.com/processone/stringprep) 依赖项在构建期间自动下载或包含在官方包中。

您的错误表明构建或安装不正确的 ejabberd。