gpt4 book ai didi

erlang - 使用钢筋处理外部库

转载 作者:行者123 更新时间:2023-12-04 15:03:53 24 4
gpt4 key购买 nike

我想在我的应用程序中使用一些库,例如 https://github.com/Panmind/erlang-ruby-marshal .该 repo 包含一个 src 目录,但没有 .app 文件(因为它不是应用程序),所以我不能使用 get-deps。

我尝试了另一种方法,添加了 sub_dirs 中的 dir 并将 repo 添加为 git 子模块,但 rebar 不会编译它的任何文件。我猜 rebar 只编译 otp 应用程序,而不仅仅是不绑定(bind)到应用程序的 .erl 文件。

你如何管理这些依赖关系?我想避免将文件复制到我的应用程序目录,因为我认为它们不属于那里,而且我有点喜欢 git 子模块方法,它允许我跟踪我正在使用的 lib 版本。

最佳答案

最近的钢筋支持依赖项的 raw 选项。当此选项是特定的时,rebar 不需要依赖项具有标准 Erlang/OTP 布局,该布局假定存在“src/dependency_name.app.src”或“ebin/dependency_name.app”文件(请参阅更多详细信息 here) .

例如:

{deps, [
{erlang_ruby_marshal, "",
{git, "https://github.com/Panmind/erlang-ruby-marshal", {branch, master}},
[raw]}
]}.

请注意,rebar 现在可以获取它,但它仍然无法编译它。正如其他评论者所指出的那样,这个依赖项没有理由不应该有一个 .app 文件。我会 fork 存储库并将 .app 文件添加到其中。

关于erlang - 使用钢筋处理外部库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5510559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com