【发布时间】:2013-11-13 04:36:56
【问题描述】:
我的假设是,erlang 项目的 deps 文件夹应该包含指向其他项目和应用程序的 符号链接,因此该项目中的所有模块都可以可以访问/可见。
例如,我的项目名为 project_final 应该从 project_a 和 application_b 访问模块。它们的目录结构如下:
注意:因为我使用的是 GIT,所以项目有双重结构,所以它们不是直接的兄弟姐妹,而是放在 /projects/project_X/projectX/etc... 我相信这是一个问题。任何更好的建议如何管理这个?
/projects/project_a/project_a : 包含 (ebin, include, src) /projects/application_b/application_b : 包含 (ebin, include, src)
/project/pro_final:
- deps:具有指向 project_a 和 application_b 的 符号链接
- ebin
- 包括
- src : 包含使用 project_a 和 applicabion_b 模块功能的模块,但给出异常错误:未定义函数。
我是如何执行 project_final 测试模块的:
cd /projects
erl -env ERL_LIBS "."
myprojectfinalmodule:test().
** exception error: undefined function project_a:test/0
project_a:test 模块已导出且正确。
【问题讨论】:
-
如果我不使用 rebar,RichardC 建议不要使用 deps(使用 lib 目录)。虽然在上面的问题中,要解决,我能够使用额外的 ERL_LIB 通用路径正常运行,例如 ERL_LIBS ".:./myprojectname/deps" 其中 deps (或'lib',无论你想调用它)是所有相关应用程序和项目的共同父项。
标签: erlang