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

ifmq2ha2  于 2023-03-11  发布在  Erlang
关注(0)|答案(2)|浏览(241)

我有一个应用程序使用rebar3,例如牛仔。我的问题是:我怎样才能轻松地配置它从另一个主机获取牛仔?我想从www.example.com切换github.com到我自己主机。

iyzzxitl

iyzzxitl1#

您希望构建cowboy,它有两个依赖项,分别是GitHub上的git仓库(具体来说是https://github.com/ninenines/cowlibhttps://github.com/ninenines/ranch),但您希望从其他主机获取仓库,比如您公司自己的git服务器,在那里镜像了所有您需要的公共仓库。
您有多种选择:

  • 分叉牛仔并更改rebar.config中的依赖项URL-s。这是我所知道的使 * Rebar 3 * 从不同位置获取依赖项的唯一(明智的)方法。其他选项将针对Rebar 3 * 以下的层 * 来实现相同的结果。
  • 配置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条目,将www.example.com解析github.com为服务器的IP地址。你可能需要为github.com创建一个假的自签名证书,并让编译机器上的git信任它。https://stackoverflow.com/a/16543283/9015322
ghg1uchk

ghg1uchk2#

默认情况下,rebar3只能从hex.pm、任何git仓库或任何mercurial仓库获取包。
如果这些默认值对你来说还不够,你可以使用create your own dependency resources,这需要你编写一些Erlang代码来告诉rebar3如何找到并下载你要使用的软件包。

相关问题