如何解决erlang钢筋的依赖性问题?

如何解决erlang钢筋的依赖性问题?,erlang,rebar,Erlang,Rebar,我试图将招摇过市添加到现有的演示项目中作为一种学习体验,但我似乎没有走多远 我克隆了回购协议: git clone https://github.com/dronowar/erlang_rest_api 然后,我将牛仔招摇添加到rebar.config: {cowboy_swagger, ".*", {git, "git://github.com/inaka/cowboy_swagger.git"}} {jsx, ".*", {git, "git://github.com/talentdef

我试图将招摇过市添加到现有的演示项目中作为一种学习体验,但我似乎没有走多远

我克隆了回购协议:

git clone https://github.com/dronowar/erlang_rest_api
然后,我将牛仔招摇添加到
rebar.config

{cowboy_swagger, ".*", {git, "git://github.com/inaka/cowboy_swagger.git"}}
{jsx, ".*", {git, "git://github.com/talentdeficit/jsx.git", {tag, "2.9.0"}}},
{ranch, ".*", {git, "git://github.com/ninenines/ranch.git", {tag, "1.6.2"}}},
{trails, ".*", {git, "git://github.com/inaka/cowboy-trails.git", {tag, "2.1.0"}}},
当我建造时,我得到:

Dependency not available: jsx-2.9.0 (undefined)
Dependency not available: cowboy-2.5.0 (undefined)
Dependency not available: ranch-1.6.2 (undefined)
Dependency not available: trails-2.1.0 (undefined)
因此,我将以下内容添加到
rebar.config

{cowboy_swagger, ".*", {git, "git://github.com/inaka/cowboy_swagger.git"}}
{jsx, ".*", {git, "git://github.com/talentdeficit/jsx.git", {tag, "2.9.0"}}},
{ranch, ".*", {git, "git://github.com/ninenines/ranch.git", {tag, "1.6.2"}}},
{trails, ".*", {git, "git://github.com/inaka/cowboy-trails.git", {tag, "2.1.0"}}},
然后我删除
deps
目录并再次构建:

...
==> poolboy (get-deps)
==> sync (get-deps)
==> katana_test (get-deps)
==> jsx (get-deps)
ERROR: Failed to load erlang_rest_api/deps/trails/rebar.config: {error,
                                                                                      {34,
                                                                                       file,
                                                                                       {error,
                                                                                        function_clause,
                                                                                        [{erl_eval,
                                                                                          '-inside-an-interpreted-fun-',
                                                                                          [katana_test],
                                                                                          []},
                                                                                         {erl_eval,
                                                                                          eval_fun,
                                                                                          6,
                                                                                          [{file,
                                                                                            "erl_eval.erl"},
                                                                                           {line,
                                                                                            829}]},
                                                                                         {erl_eval,
                                                                                          expr_list,
                                                                                          6,
                                                                                          [{file,
                                                                                            "erl_eval.erl"},
                                                                                           {line,
                                                                                            888}]},
                                                                                         {erl_eval,
                                                                                          expr,
                                                                                          5,
                                                                                          [{file,
                                                                                            "erl_eval.erl"},
                                                                                           {line,
                                                                                            240}]},
                                                                                         {erl_eval,
                                                                                          expr_list,
                                                                                          6,
                                                                                          [{file,
                                                                                            "erl_eval.erl"},
                                                                                           {line,
                                                                                            888}]},
                                                                                         {erl_eval,
                                                                                          expr,
                                                                                          5,
                                                                                          [{file,
                                                                                            "erl_eval.erl"},
                                                                                           {line,
                                                                                            240}]},
                                                                                         {erl_eval,
                                                                                          eval_lc1,
                                                                                          6,
                                                                                          [{file,
                                                                                            "erl_eval.erl"},
                                                                                           {line,
                                                                                            706}]},
                                                                                         {erl_eval,
                                                                                          eval_generate,
                                                                                          7,
                                                                                          [{file,
                                                                                            "erl_eval.erl"},
                                                                                           {line,
                                                                                            735}]}]}}}
make: *** [Makefile:7: deps] Error 1
katana_test
似乎是某种测试工具。我尝试将repos(inaka/katana est)添加到
rebar.config
中,但它也不起作用

我还尝试将牛仔标记为“2.5.0”版本,如前面的“undefined”中所列,但没有任何区别

我们真的需要列出每个依赖项的每个依赖存储库吗?

我还尝试使用十六进制:

    {jsx, ".*"},
    {ranch, ".*"},
    {trails, ".*"},
    {cowboy_swagger, "2.1.0"}
但我还是得到了:

Dependency not available: jsx-.* (undefined)
Dependency not available: trails-.* (undefined)
Dependency not available: cowboy_swagger-2.1.0 (undefined)
ERROR: compile failed while processing 

我是否缺少另一个依赖项?

问题产生于这样一个事实:
cowboy_Swigger
是为与旧钢筋一起使用而构建的,它与旧钢筋不兼容,但是erlang_rest_api正在使用旧钢筋,正如您在其


您的问题的解决方案可能与使用rebar3构建项目一样简单。但如果这样做,请小心,因为这样会破坏
使运行
使运行本地
。您必须弄清楚如何使用发行版获得相同的结果。

请在
[1]的问题正文链接中更新:https://github.com/donowar/erlang_rest_api
[1]:https://github.com/dronowar/erlang_rest_api
。您在
donowar
中跳过
r
,正确的是
dronowar