【发布时间】:2013-02-06 20:29:54
【问题描述】:
我正在使用reltool 创建一个版本。输出文件夹 rel/lib 包含所有应用程序,其 ebin 文件夹打包到 .ez 档案中,例如对于crypto:
crypto-2.2
crypto-2.2/priv/ (with some files in the priv folder)
crypto-2.2.ez
crypto-2.2.ez/crypto-2.2/ebin/crypto.app
crypto-2.2.ez/crypto-2.2/ebin/ (with some .beam files in the ebin folder)
我在rel 文件夹中启动erl。 ebin 文件夹的路径位于代码路径中,即 code:get_path(). 会返回其中(对于 lib 文件夹中的其他应用程序也是如此):
"/usr/home/g/work/project/rel/lib/crypto-2.2.ez/crypto-2.2/ebin"
但是当尝试调用systools:make_tar("releases/0.1/project"). 时,它抱怨它找不到.app 文件(对于发布中提到的所有应用程序):
crypto: File not found: "crypto.app"
我看到.app 文件在存档中,只是systools 由于某种原因看不到它。我尝试在使用path 选项调用make_tar 时指定ebin 文件夹,但它似乎不起作用(缺少crypto.app 的相同错误)。另外:
file:consult("/usr/home/g/work/project/rel/lib/crypto-2.2.ez/crypto-2.2/ebin/crypto.app").
给我:{error,enotdir}。
也许systools 还没有处理档案?有没有其他方法可以从reltool 发布的版本中创建 tar 存档?任何帮助将不胜感激。
【问题讨论】:
标签: erlang release erlang-shell reltool