我在intelliJ中使用rebar编译了一个ejabberd模块,我收到错误“undefined parse transform'lager_transform'”
rebar.config:
{erl_opts, [nowarn_deprecated_function,
{d, 'LAGER', true},
{d, 'NO_EXT_LIB'},
{i, ["c:/Program Files/ejabberd-15.11/bin"]},
{i, ["c:/Program Files/ejabberd-15.11/lib/ejabberd-15.11/include"]}]}.
在检查此站点上的响应后,我将这些行添加到配置文件中:
{deps, [{lager, ".", {git, "https://github.com/basho/lager", {tag, "3.0.2"}}},
{p1_utils, ".", {git, "https://github.com/processone/p1_utils", {tag, "1.0.3"}}},
然后我继续尝试“rebar get-deps”,但这失败了:
Pulling lager from {git,"https://github.com/basho/lager",{tag,"3.0.2"}}
ERROR: Rebar requires version {1,5} or higher of git to process {git,
"https://github.com/basho/lager",{tag,"3.0.2"}}
ERROR: 'get-deps' failed while processing C:/devxmpp/testMe: rebar_abort
所以我继续下载git 2.7.x并仍然出现同样的错误 . 它没有看到新版本 .
问候,威尔
1 回答
这是这个问题的副本:ejabberd and Erlang installation with lager_transform undefined
您需要使用configure和make编译ejabberd documentation中描述的ejabberd . 单独使用钢筋不足以为宏设置一些初始定义值,并且会导致某些部分代码被错误地定义/编译 .