Erlang与钢筋一起发布:我遗漏了什么?

Erlang与钢筋一起发布:我遗漏了什么?,erlang,release,rebar,Erlang,Release,Rebar,多亏了这里的帮助,我在构建我的第一个Erlang发行版的路上进展顺利。还没有真正的代码,但我想了解它是如何完成的。我也参考并遵循了一些网络教程,如Martin等人,但似乎仍然遗漏了一些东西 当我尝试开始发布时,我得到: lloyd@Reliance:~/Programming/Erlang/learn$ sh rel/learn/bin/learn start [: 129: Node 'learn@127.0.0.1' not responding to pings.: unexpected

多亏了这里的帮助,我在构建我的第一个Erlang发行版的路上进展顺利。还没有真正的代码,但我想了解它是如何完成的。我也参考并遵循了一些网络教程,如Martin等人,但似乎仍然遗漏了一些东西

当我尝试开始发布时,我得到:

lloyd@Reliance:~/Programming/Erlang/learn$ sh rel/learn/bin/learn start
[: 129: Node 'learn@127.0.0.1' not responding to pings.: unexpected operator
在“学习”项目目录下,我有:

在rebar.config中,我有:

{cover_enabled, true}.
{sub_dirs, ["rel","apps/zzz", "apps/zzz_lib"]}.
在…学习/应用程序中,我有:

zzz  zzz_lib
据我所知,zzz和zzz_lib中都有正确的东西。通过精益,我可以清理、编译和创建文档

在…/rel中,我有:

files  learn  reltool.config
请参阅下面的reltool.config

我错过了魔法酱,但是什么

非常感谢,

LRP


看起来您的retool.config文件缺少您编写的应用程序的一些条目

第一部分应该是这样的

{sys, [
   {lib_dirs, ["../apps"]},      <--- point to where your applications are
   {rel, "learn", "1",
    [
     <your application here>     <---- add your application(s) here 
     kernel,
     stdlib,
     sasl
    ]},
   {rel, "start_clean", "",
    [
     kernel,
     stdlib
    ]},
   {boot_rel, "learn"},
   {profile, embedded},
   {excl_sys_filters, ["^bin/.*",
                       "^erts.*/bin/(dialyzer|typer)"]},
   {app, <your application here>, [{incl_cond, include}]},      <-- and here 
   {app, sasl, [{incl_cond, include}]}
  ]}.
还不如说做

sh rel/learn/bin/learn start
使用

进入

应用程序:哪些应用程序()

它应该列出一系列的东西加上你的应用程序。 乙二醇


在“学习”版本中不包括您的应用程序(“zzz”、“zzz_lib”)。而且你的lib_dirs是空的。这是有意的吗?如果您遵循教程,您应该向我们展示您所经历的所有步骤。另外,我建议你在潜入力霸神奇的深水之前先看看。它将帮助您了解Erlang版本是如何工作的,以及rebar在幕后做了什么。此外,Learning you Some Erlang中的版本一章已经出炉:--阅读它将为您提供有关reltool如何操作的一些提示和想法。
{sys, [
   {lib_dirs, ["../apps"]},      <--- point to where your applications are
   {rel, "learn", "1",
    [
     <your application here>     <---- add your application(s) here 
     kernel,
     stdlib,
     sasl
    ]},
   {rel, "start_clean", "",
    [
     kernel,
     stdlib
    ]},
   {boot_rel, "learn"},
   {profile, embedded},
   {excl_sys_filters, ["^bin/.*",
                       "^erts.*/bin/(dialyzer|typer)"]},
   {app, <your application here>, [{incl_cond, include}]},      <-- and here 
   {app, sasl, [{incl_cond, include}]}
  ]}.
  simple_cache
          |-> apps  
          |    \-> simple_cache
          |             |-> src
          |             \-> ebin
          |
          |-> rebar.config
          |-> rel
               |-> files 
               |-> reltool.config
               \-> simple_cache
sh rel/learn/bin/learn start
sh rel/learn/bin/learn console
[{mysample_app,[],[]},
 {sasl,"SASL  CXC 138 11","2.1.10"},
 {stdlib,"ERTS  CXC 138 10","1.17.5"},
 {kernel,"ERTS  CXC 138 10","2.14.5"}]