我是Erlang的新手,我一直在尝试在EC2 ubuntu机器上安装Erlang和ejabberd,一切顺利,直到我开始在ejabberd中编译一些外部模块 . 它开始抛出错误“未定义的解析变换'lager_transform'” . 我尝试了以下所有内容:
-
rebar得到了deps,干净,做了deps,make install . 在此之后,我能够看到lager_transform.beam已经生成并出现在// lib /文件夹中 .
-
检查了rebar.config文件,它顶部有较大的deps,这是广泛建议的,甚至在此之后也没有帮助 .
-
在模块顶部添加了
-compile[{parse_tranform},{lager_transform}]
,即使这样他们也没有运气 .
我真的被封锁了,无法完成安装 . 我之前在fedora上用ejabberd 15.11和otp 18.2完成了这个,当时它使用了 p1_logger
而不是lager . 但是现在当我用otp 18.2和ejabberd 16.0或15.11安装新的时候,我得到了lager_transform未定义的错误 .
请建议并帮助
1 回答
请确保按照文档中的描述编译ejabberd:http://docs.ejabberd.im/admin/guide/installation/#installing-ejabberd-from-source-code
例如,您可以使用以下命令编译它:
您需要运行configure和make来正确设置构建链 .