2012-04-08 58 views
9

我无法从github使用rebar获得任何依赖关系。rebar无法从github获得依赖关系

rebar.config文件:

{sub_dirs, ["rel"]}. 

{deps_dir, ["deps"]}. 
{erl_opts, [debug_info]}. 

{deps, [ 
{thrift_erl, "0.5.0", {git, "git://github.com/xslogic/thrift_erl", "HEAD"}}, 
{eleveldb, "1.0.1", {git, "git://github.com/xslogic/eleveldb", "HEAD"}} 
]}. 

当我做./rebar编译我得到:

Dependency not available: thrift_erl-0.5.0 ({git, 
             "git://github.com/xslogic/thrift_erl", 
             "HEAD"}) 
Dependency not available: eleveldb-1.0.1 ({git, 
             "git://github.com/xslogic/eleveldb", 
             "HEAD"}) 

它保持在最后一个破折号寻找DEP_NAME和似乎无法找到它。

如何解决这个问题?

回答

27

我认为你应该首先使用rebar get-deps命令。 如果钢筋编译命令出错,请尝试rebar delete-deps,rebar clean。 如果仍有错误,请直接切换到相关代码,单独编译这些项目。 (我曾经遇到过这个问题)。

+0

确保你输入sudo的螺纹钢GET- deps – DilumN 2016-05-14 12:50:44

0

你的git路径根本不正确。

你忘了最后的“.git”。它应该是git://github.com/xslogic/eleveldb.git而不是git://github.com/xslogic/eleveldb

+1

它删除了deps并重新获得它们后工作。路径不完整,但他们确实与钢筋工作。 – mbsheikh 2012-04-10 13:41:51

+0

确切地说; GitHub允许你从任何一个进行克隆。其他Git提供商可能不会宽容。 – Ashe 2013-05-12 13:16:41

1

如前所述,您忘记了.get,并且版本尝试添加提交编号,因为它们升级软件和版本,因此主站点可能会指向不同的版本,并且这会在以后崩溃。

因此改变HEAD承诺,并设置版本,这次提交或离开的头,但设置版本*(最新的)

这帮助了很多后来:)