基于rebar3的reup的erlang应用程序升级

v440hwme  于 2022-12-16  发布在  Erlang
关注(0)|答案(1)|浏览(180)

我正在研究基于this article的erlang应用程序的升级。
但是当我执行rebar3 relup时出现了一些问题:
Option --relname is missing

hello@centos7-dev:~/relapp1 ((1.0.12))$ rebar3 relup
===> Verifying dependencies...
===> Analyzing applications...
===> Compiling relapp
Solving Release relapp-1.0.12Resolved relapp-1.0.12release: relapp-1.0.12
     erts: 13.0.4
     goals:
          relapp
          parse_trans
          sasl
     applications:
          {kernel,"8.4.2"}
          {stdlib,"4.0.1"}
          {syntax_tools,"3.0"}
          {parse_trans,"3.0.0"}
          {relapp,"1.0.12"}
          {sasl,"4.2"}
......
....relapp1/_build/default/rel/relapp/lib/sasl-4.2/ebin/sasl.apprelease start script createdRelease successfully assembled: 
_build/default/rel/relapp===> Option --relname is missing

这些环境如下所示:

  • 二郎
Erlang/OTP 25 [erts-13.0.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1]
Eshell V13.0.4  (abort with ^G)
  • 钢筋3
rebar 3.20.0 on Erlang/OTP 25 Erts 13.0.4
nfeuvbwi

nfeuvbwi1#

经过多次的尝试和实验,我终于在这篇文章中找到了答案。
Hot code reloading with Erlang and Rebar3
答案是这样的:

rebar3 relup -n nine9s -v "0.2.0" -u "0.1.0"

但也有一些问题需要注意。

  1. rebar.config文件
    应将缺省选项{mode, dev}替换为{dev_mode, false}
    1.*.appup.src您不能在此文件中包含point_of_no_return选项,否则会出现一些问题,例如:
No release upgrade script entry for xxxx-0.2.0 to xxxx-0.1.0 in file

相关问题