如何配置rebar3从另一个主机获取依赖项?

时间:2019-10-08 15:27:24

标签: erlang rebar3

我有一个使用rebar3的应用程序,例如牛仔。我的问题是:如何轻松配置它以从其他主机获取牛仔?那就是我要把它从github指向另一个主机。

2 个答案:

答案 0 :(得分:1)

默认情况下,rebar3仅从hex.pm,任何git存储库或任何Mercurial存储库中获取软件包。您可以看到您的选项here

如果这些默认设置不足以满足您的需求,则可以create your own dependency resources。这将需要您编写一些Erlang代码,以告诉rebar3如何找到和下载您要使用的软件包。

答案 1 :(得分:1)

您要构建具有两个依赖关系的cowboy,它们是GitHub上的git存储库(具体来说是https://github.com/ninenines/cowlibhttps://github.com/ninenines/ranch)。但是,您想从其他主机上获取存储库,例如公司自己的git服务器,在其中镜像所需的所有公共存储库。

您有很多选择:

  • 叉牛仔并在rebar.config中更改依赖项URL。这是我知道使 Rebar3 从其他位置获取依赖项的唯一(理智)方法。其他选项将针对Rebar3 下面的层以达到相同的结果。
  • 配置git以将GitHub URL重写为服务器上的URL s,例如https://stackoverflow.com/a/11383587/9015322
git config --global url.https://git.mycompany.com/.insteadOf https://github.com/
  • 添加一个/etc/hosts条目,它将github.com解析为服务器的IP。您可能必须为github.com创建一个伪造的自签名证书,并在构建计算机上使git信任它。但是您可以按照以下建议进行操作:https://stackoverflow.com/a/16543283/9015322