gpt4 book ai didi

erlang - 我无法在我的 **helloworld** 项目中使用 `ejabberd_auth`

转载 作者:行者123 更新时间:2023-12-02 06:33:49 25 4
gpt4 key购买 nike

我无法在我的 helloworld 项目中使用 ejabberd_auth

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

这样我就得到了错误警告:

helloworld.erl:15: Warning: behaviour ejabberd_auth undefined    
<小时/><小时/>
-import(ejabberd_auth, [try_register/3]).  
...
....
try_register(<<"username">>, <<"example.com">>, <<"secret_password">>).

这样我得到:

exception error: undefined function ejabberd_auth:try_register/3  
<小时/>

为什么我无法访问ejabberd_auth

我正在使用 IntelliJ Idea,并安装了 Erlang 插件。

提前谢谢大家。

更新:
我使用的是 Ubuntu 16.04 LTS

最佳答案

我可以帮助你克服这个错误。方法如下...

当我在 erlang shell 中编译模块时,编译器会在同一目录中创建一个 .beam 文件,该文件允许我调用模块中定义的函数。在您的情况下,如果您 cd 进入目录:

 .../ejabberd/ebin 

您将看到所有 ejabberd .beam 文件,包括 ejabberd_auth.beam。如果您在该目录中启动 erlang shell,然后发出函数调用(不编译任何内容),您将不会再收到该错误。

但是,然后我收到错误:

exception error: undefined function jid:nodeprep/1
in function ejabberd_auth:validate_credentials/3 (src/ejabberd_auth.erl, line 796)
in call from ejabberd_auth:try_register/3 (src/ejabberd_auth.erl, line`

该目录中没有 jid.beam 文件。但是:

~/Downloads/ejabberd$ find . -name jid.beam
./deps/xmpp/ebin/jid.beam

您必须弄清楚如何编译您的模块,以便所有 ejabberd 模块都可用于您的程序。请参阅:ejabberd how to compile new module .

I am unable to use ejabberd_auth in my helloworld project.

您是否在某处学习教程?

关于erlang - 我无法在我的 **helloworld** 项目中使用 `ejabberd_auth`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49220369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com