rebar3使用本地依赖

本文介绍了如何在rebar3中使用本地Git依赖以解决内网构建Erlang项目的问题。通过创建插件,将所有依赖的下载地址替换为本地Git服务器,从而加速依赖拉取过程。同时,详细讲解了如何搭建本地Git服务,并讨论了针对Hex包慢的问题,提出了更换Hex镜像地址的方法。
摘要由CSDN通过智能技术生成

简介

erlang提供了rebar3来管理依赖和编译项目,结合git和hex,项目的依赖管理会非常简单。项目本体也会非常精简。但是也带来了问题就是项目本身必须依赖外网才可以构建,因为deps库一般都是从git或者hex上进行的下载。如果是内网环境下,就无法进行构建,只能提前将依赖在外网环境下下载完整再本地进行构建。
同样如果网络环境比较差,国内连接hex的本站速度也比较慢,意味着每次构建都需要很久,因此如果能将依赖从本地进行拉取就会快很多。

实现

rebar3提供了插件功能,在有了插件功能后,就可以在不修改rebar3本体逻辑的情况下,对rebar3进行扩展,因此可以使用插件实现上面所述的将所有需要拉取的地址都替换成自己的本地git地址

本地git化插件

只需要在项目顶层的rebar.config中加入

{plugins, [
    {rebar3_local_deps, ".*",
       {git, "git://github.com/yidayoung/rebar3_local_deps.git", {branch, "master"}}}
]}.
{local_deps_url, "http://127.0.0.1:9001/r/"}.

local_deps_url字段是本地的git服务器前缀,例如如果我们要下载ct库,无论rebar.config中指定的ct库的下载方式是啥,都会替换成http://127.0.0.1:9001/r/ct.git 下载。
包括项目本体的依赖和依赖的依赖,项目中所有的拉取动作的地址都会被替

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值