【发布时间】:2016-01-14 20:31:15
【问题描述】:
我正在使用 erlang 18,ejabberd 15.09。我正在尝试创建聊天应用程序。为此,我必须使用 Erlang 为 ejabberd 创建用户。
为此,我使用了 erlang 函数 ejabberd_auth:try_register:
ejabberd_auth:try_register(<<"username">>, <<"example.com">>, <<"secret_password">>).
产生如下错误:
异常错误:未定义函数 stringprep:nameprep/1
在函数 jlib:nameprep/1 中(src/jlib.erl,第 331 行)
来自 ejabberd_auth:auth_modules/1 的调用(src/ejabberd_auth.erl,第 429 行)
来自 ejabberd_auth:is_user_exists/2 的调用(src/ejabberd_auth.erl,第 323 行)
来自 ejabberd_auth:try_register/3 的调用(src/ejabberd_auth.erl,第 187 行)
如何解决问题?
【问题讨论】:
-
您的安装似乎有问题,因为似乎找不到模块 stringprep。
-
我用源码安装了ejabberd,用“ejabberdctl register xxx”添加用户登录成功,登录后也可以在web中添加用户。我还需要做什么其他操作?
-
好吧,你的安装坏了(要么是缺少 ejabberd 依赖,要么是错误的 Erlang 路径)。实际上分辨率取决于您在安装过程中错过了什么,我建议您阅读官方文档:docs.ejabberd.im/admin/guide/installation