首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mac上发布Erlang应用程序,以便在Linux上运行它?

在Mac上发布Erlang应用程序,以便在Linux上运行它?
EN

Stack Overflow用户
提问于 2016-08-22 22:52:01
回答 2查看 290关注 0票数 3

发布是跨平台的吗?这样我就可以在一个平台上构建一个发布,然后像在另一个平台上一样运行它,或者我应该在运行应用程序的同一个平台上构建?

EN

回答 2

Stack Overflow用户

发布于 2016-08-23 02:27:20

发布机制至少需要做额外的工作才能使其跨平台

虽然Erlang beams是跨平台的,但发布版本通常包含与平台相关的附加数据。

它是

itself.

  • Platform依赖库
  • Erts

如果您想在Mac上为Linux构建发行版,那么您至少需要为Linux构建Erts。例如,如果您使用的是relx,则必须使用specify命令

代码语言:javascript
复制
{include_erts, "/path/to/erlang"},
{system_libs, "/path/to/erlang"},

其他依赖于平台的库则是另一回事。几乎每个复杂的priv应用程序都使用一些NIF或端口,它们通常是随附在NIF中的,如果你使用它们,你必须为你的目标平台交叉编译它们。你可能得自己处理了

票数 2
EN

Stack Overflow用户

发布于 2016-08-23 01:11:43

假设这些平台具有相同的动态口令版本:是的,.beam文件应该跨平台兼容,因为它是解释字节码的Erlang VM。就像.class文件和JVM一样。

对于不同版本的平台,它向后兼容两个主要版本。意味着如果你在装有R16B的OS X机器上发布了一个版本,那么它应该与任何运行OTP17和18的机器兼容。Source

然而,这两种情况都不适用于编译后的本机代码或NIF。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39082661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档