【问题标题】:How to configure rebar3 to fetch dependencies from another host?如何配置 rebar3 以从另一台主机获取依赖项?
【发布时间】:2020-02-05 22:14:23
【问题描述】:

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

【问题讨论】:

    标签: erlang rebar3


    【解决方案1】:

    默认情况下,rebar3 只会从 hex.pm、任何 git 存储库或任何 mercurial 存储库中获取包。你可以看到你的选项here

    如果这些默认设置对您来说还不够,您可以create your own dependency resources。这将需要您编写一些 Erlang 代码,以便告诉 rebar3 如何查找和下载您尝试使用的包。

    【讨论】:

      【解决方案2】:

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

      您有多种选择:

      • fork cowboy 并更改 rebar.config 中的依赖 URL-s。这是我所知道的让 Rebar3 从不同位置获取依赖项的唯一(理智)方法。其他选项将针对Rebar3 下方的层 以达到相同的结果。
      • 配置 git 以将 GitHub URL-s 重写为服务器上的 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

      【讨论】:

        猜你喜欢
        • 2016-08-17
        • 2014-08-08
        • 1970-01-01
        • 1970-01-01
        • 2020-02-07
        • 1970-01-01
        • 2019-09-02
        • 1970-01-01
        • 2014-12-10
        相关资源
        最近更新 更多