【问题标题】:Bundle Erlang OTP in COTS product在 COTS 产品中捆绑 Erlang OTP
【发布时间】:2013-10-27 21:35:40
【问题描述】:

我们希望在我们的产品中包含 RabbitMQ,这进一步需要 Erlang OTP。我们不希望我们的客户在安装我们的产品之前安装 Erlang,并希望找到将 Erlang 包含在我们自己的产品安装程序中的方法。

有哪些策略可以做到这一点?我们希望支持 Windows 和 Linux。目前我的理解是 Windows 上没有 Erlang 的 ZIP 版本。所以这就是我的想法

  1. 包含 Erlang OTP 安装程序并在我们的产品安装程序运行时启动它
  2. 安装 Erlang OTP,压缩安装目录并让我们的产品安装程序将其解压缩到客户的机器上
  3. 。 . . ?

感谢您的建议。

于 10 月 21 日编辑

我想通了。当 erl.exe 启动时,它会为分布式 erlang 启动一个名称解析器守护进程 (epmd.exe)。此 exe 的位置硬编码在 /otp/install/path/bin/erl.ini 中。

将 otp 安装从 C:\Program Files 复制到我选择的目录后,我必须更新 erl.ini 文件以反映 empd 进程路径的更改。之后,我从 c:\Program Files 卸载了 OTP,并能够从复制它的目录启动 erlang。

兰吉特

【问题讨论】:

  • 我认为应用程序wings3d是按照您正在寻找的方式制作的(它不使用OTP,但是从头开始安装),您可以在这里查看源代码:link
  • 我安装了wings32,发现安装程序只是简单地提取了erl.exe和一堆编译好的erlang程序。我将安装 erlang otp 并观察它是否/写入了哪些注册表项。

标签: erlang installation rabbitmq


【解决方案1】:

另一个标准的发布方式是使用rebar。这捆绑了 OTP,它比复制已安装的 Windows 二进制文件并更改 erl.ini 或更改 linux 中的 erl 脚本更简洁。

【讨论】:

  • 抱歉这么久才回复。到目前为止,在我有限的阅读中,rebar 似乎是用 erlang 编写的应用程序的构建和依赖管理工具。它还假设在机器上安装了 Erlang OTP。我试图想办法将 Erlang OTP 捆绑到 COTS 产品中,以便它作为 RabbitMQ 的依赖项。我将阅读更多关于钢筋的信息,看看它是否符合要求。我不会有任何这样的自定义 Erlang 代码。本质上,当我们的产品安装完成后,我想进行一些设置,以便 RabbitMQ 能够在 Windows 和 Linux 上解析到 erl 的路径。
猜你喜欢
  • 2013-06-16
  • 1970-01-01
  • 2019-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多