Erlang 版本也可以进行版本控制,但如何做到这一点取决于您使用什么工具来生成版本。以reltool 和rebar 为例,您可以在reltool.config 文件中指定发布版本。例如,对于名为myrel 的版本,其reltool.config 的顶部可能如下所示:
{sys, [
{lib_dirs, []},
{erts, [{mod_cond, derived}, {app_file, strip}]},
{app_file, strip},
{rel, "myrel", "1.9",
...
{rel, "myrel", "1.9" 行中显示的“1.9”是发布版本号。
或者,与systools 一起,.script 文件可用于生成.boot 文件以指定如何加载和启动 Erlang 系统,其中包含元组 {script, {ReleaseName, ReleaseVsn}, Actions},其中 ReleaseVsn 指定发布版本。例如,myrel.script 的顶部可能如下所示:
{script,
{"myrel","1.9"},
[{preLoaded,
[erl_prim_loader,erlang,erts_internal,init,otp_ring0,prim_eval,
prim_file,prim_inet,prim_zip,zlib]},
{progress,preloaded},
...
您可以自己编写这样的文件,或者更明智地从release resource file 生成带有systools:make_script 的文件,该文件通常具有.rel 后缀,其顶部指定发布版本,如下所示:
{release, {RelName,Vsn}, {erts, EVsn},
...
其中Vsn 是发布版本,EVsn 是发布应该使用的 Erlang 运行时系统 (erts) 的版本。
对于relx,发布版本的指定与.rel 文件的定义相同。详情请见relx documentation。