gpt4 book ai didi

erlang - Erlang 中的 "Bundling"外部库?

转载 作者:行者123 更新时间:2023-12-01 09:10:12 31 4
gpt4 key购买 nike

我有一个我一直在编写的 erlang 应用程序,它使用 erldis用于与 redis 通信的库。

作为一个实际将 erlang 应用程序部署到生产环境的新手,我想知道是否有办法将这些外部库与应用程序“捆绑”在一起,而不是安装到我的系统范围内的/usr/lib/erlang/lib/文件夹。

目前我的目录结构看起来像...

\
--\conf
--\ebin
--\src

我有一个从 friend 的项目中偷来的基本 Makefile,但我不确定如何正确编写它们。

我怀疑这个答案可能涉及告诉我如何正确编写我的 Makefile,而不仅仅是将一些外部库代码放入哪个目录。

最佳答案

您真的应该尽可能避免项目嵌套。由于模块/应用程序版本在 Erlang 中的结构方式,它可能会导致各种问题。

在我的开发环境中,我做了一些事情来简化依赖关系和多个开发项目。具体来说,我将大部分项目的源代码保存在 dev 目录中,并在 ERL_LIBS 环境变量中设置的 elibs 目录中创建符号链接(symbolic link)。

~/dev/ngerakines-etap
~/dev/jacobvorreuter-log_roller
~/dev/elib/etap -> ~/dev/ngerakines-etap
~/dev/elib/log_roller -> ~/dev/jacobvorreuter-log_roller

对于已部署的项目,我有 package-rpmpackage-apt 为每个项目创建单独的包的目标。应用程序获得启动脚本和 init.d 脚本,以便轻松启动/停止控制,但库和依赖项项目只是被列为包依赖项。

关于erlang - Erlang 中的 "Bundling"外部库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1788582/

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