首页 文章

如何在Erlang项目中正确使用deps文件夹?

提问于
浏览
1

我假设erlang项目的 deps 文件夹应包含指向其他项目和应用程序的 symbolic links ,因此该项目的所有模块都可以访问/可见 .

例如,名为 project_final 的My项目应该从 project_aapplication_b 访问模块 . 它们的目录结构如下:

注意:因为我使用的是GIT,所以项目有双重结构,因此它们不是彼此的直接兄弟,而是将它们放在/ projects / project_X / projectX / etc下...我相信这是一个问题 . 有什么更好的建议如何管理?

/ projects / project_a / project_a:contains(ebin,include,src)/ projects / application_b / application_b:contains(ebin,include,src)

/项目/ pro_final:

  • deps :有 symbolic links 指向project_a和application_b

  • ebin

  • 包括

  • src:包含使用project_a和applicabion_b模块函数的模块 but gives exception error: undefined function .

我如何执行 project_final 测试模块是通过:

cd /projects
erl -env ERL_LIBS "."
myprojectfinalmodule:test().
** exception error: undefined function project_a:test/0

project_a:test模块导出并正确 .

1 回答

  • 6

    deps目录是一个Rebar约定,除非通过Rebar,否则不应该以任何其他方式进行管理 . 如果您将依赖项放在应用程序的子目录中,请将您的各个应用程序放在一个公共的lib /目录下,并使用ERL_LIBS环境变量(请参阅http://erlang.org/doc/man/code.html)告诉Erlang在哪里查找应用程序 .

相关问题