尝试使用 eflame 分析 couchdb 时无法指定钢筋依赖性

Trouble specifying rebar dependency when trying to profile couchdb using eflame

我正在尝试使用 eflame to profile CouchDB code to investigate some performance issues in my application. I tried adding the eflame dependency in rebar.config.script (https://github.com/apache/couchdb/blob/master/rebar.config.script)

但是,当我 运行 configure 从其源构建 CouchDB (2.0.0) 时出现错误:

Dependency not available: eflame-.* ({git,
                                      "git://github.com/proger/eflame.git",
                                      {branch,"master"}})
ERROR: compile failed while processing /tmp/couchdb: rebar_abort
Makefile:67: recipe for target 'couch' failed

我在 CouchDB 源代码中 rebar.config.script 的更改是在下面添加一行(当然在前一行中有一个逗号)

{eflame, {url, "git://github.com/proger/eflame.git"}, {branch ,"master"}}

我尝试了各种指定依赖关系的组合,如 rebar documentation 所示,但没有成功。(我考虑了 rebar.config.script 中 MakeDep 函数中参数的顺序并相应地试图传递参数)

任何解决问题的建议都将不胜感激。谢谢! (注:本人对Erlang和rebar不熟悉,如有明显错误请见谅)

看起来你的案例中缺少的是元组的第二个参数,它需要版本号。如果您不需要特定的星号,可以在那里使用星号:

{eflame, ".*", {git, "git://github.com/proger/eflame.git", {branch, "master"}}}

或者,如果您使用 rebar3, you could use the hex package

{eflame, "1.0.1"}

这里有两个问题

1)我使用的rebar版本不是>1.5
2)我必须在进行钢筋编译之前添加 get-deps,如此 rebar dependencies issue post