在发布时功能undef

时间:2010-12-16 18:28:56

标签: erlang

我在发布包(由systools:make_tar创建)时遇到问题。当我使用erlang安装(/usr/local/lib/erlang/)的代码运行它时,它运行得很好。只有当我切换到我的发布包(/some/other/dir)提供的代码时,它才会开始抛出undef个例外。

以下是我所知道的:

  1. 我通过执行/some/other/dir/erts-5.8.1/bin/erl -sname test -boot /some/other/dir/releases/0.0.1/start
  2. 来运行所有这些
  3. 已成功创建包(代码已编译/ app / rel / sys.config包含)
  4. 我正在更改/some/other/dir/erts-5.8.1/bin/erl以设置我的代码的路径(来回/usr/local/lib/erlang/some/other/dir
  5. 我在/usr/local/lib/erlang/lib/some/other/dir/lib
  6. 中拥有完全相同的代码版本
  7. 我已为所有应用填写了.app个文件,因此.beam/usr/local/lib/erlang/lib/中都存在/some/other/dir/lib/个文件
  8. Erlang会看到代码并将其加载到code:all_loaded() / code:get_path()
  9. code:clash()
  10. 没有冲突

    现在我没有想法了。有什么指针吗? :)

1 个答案:

答案 0 :(得分:0)

我的建议?使用rebar

无论如何,你的.rel file是否包含那些未定义的应用程序?