繁体   English   中英

命令“钢筋文档”不一致

[英]Command 'rebar doc' is inconsistent

首先,“钢筋文档”有时有效,有时无效。 它很奇怪。 我正在使用的钢筋版本为2.5.1

我的文件夹结构是:

  1. Header_Directory
    1.1应用
    1.1.1 sub_dir_1
    1.1.2 sub_dir_2 /包含
    1.1.3 sub_dir_3
    1.2副
    1.3 confs
    rebar.config

sub_dir_3中的模块还使用sub_dir_2 / include文件夹中的一些包含文件。

使用命令钢筋文档时出现的错误是:
.sub_dir_3 / src / my_log_worker.erl,在模块标题中:在第9行:找不到文件:some.hrl edoc:跳过源文件'sub_dir_3 / src / my_log_worker.erl':{'EXIT',error}。 edoc:doclet'edoc_doclet'中的错误:{'EXIT',error}。 错误:处理/ home / learn / header_directory / apps / sub_dir_3时文档失败:{'EXIT',error}

我先进行“清理干净”操作,然后再进行“编译”操作,然后再执行“ doc doc”操作

另外,当我在erl shell中执行此操作时,会出现错误。

edoc:file(“ some_log_worker.erl”,[])。
edoc:读取文件'some_log_worker.erl'时出错。
**异常退出:{error,enoent}
在函数edoc:read_source / 2(edoc.erl,第664行)中,来自edoc_extract:source / 3(edoc_extract.erl,第52行)的调用
在edoc:read / 2的通话中(edoc.erl,第537行)
在edoc:file / 2的调用中(edoc.erl,第116行)

有什么方法可以将我的hrl文件包含在rebar.config或edoc选项中?

我有'{edoc_opts,[{i,“ apps / sub_dir_3 / include”}]}}。 在rebar.config中,仍然没有帮助。

您似乎没有遵循钢筋/ OTP约定:

OTP约定

钢筋希望项目遵循OTP设计原则文档:应用程序中所述的OTP约定。

应用程序应包含以下目录集:

 src ebin priv include 

并具有一个应用程序资源文件:ebin / example_project.app或src / example_project.app.src。 在后一种情况下,ebin / example_project.app文件是在编译阶段从src / example_project.app.src自动生成的。

钢筋和OTP的鼓励

我建议您转到该文件组织,使用诸如钢筋之类的标准工具确实要简单得多。

是的,遵循OTP原则始终是最大的利益。 但是,它适用于我的应用程序结构。

唯一的问题是由于erlang模块中的@headerfile批注。 不知何故,我不知道如何正确使用@headerfile批注。

感谢您的所有帮助。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM