只是想知道我的Erlang网络工具是怎么回事。我正在运行Ubuntu 15.10,并且已检查是否已安装erlang-webtool软件包。但是,当我尝试运行它时,我得到以下信息:

    1> webtool:start().
    {error,
        {shutdown,
            {failed_to_start_child,
                {httpd_instance_sup,{127,0,0,1},8888,default},
                {shutdown,
                    {failed_to_start_child,
                        {httpd_manager,{127,0,0,1},8888,default},
                        {error,
                            {invalid_option,
                                {module_does_not_exist,mod_include}}}}}}}}

    =ERROR REPORT==== 7-Mar-2016::15:47:36 ===
    Failed initiating web server:
    undefined
    {invalid_option,{module_does_not_exist,mod_include}}


我的Erlang版本:Erlang / OTP 18 [erts-7.0] [源代码] [64位] [smp:8:8] [async-threads:10] [kernel-poll:false]

有任何想法吗?谢谢。

最佳答案

Webtool在E / OTP 18中似乎已损坏。我看到了同样的事情,当我删除了对mod_include的提及(不再存在)时,webtool可以工作。

快速修复方法:手动编辑webtool.erl,删除提及mod_include的行,运行erlc webtool.erl,然后将生成的webtool.beam复制到ebin目录,覆盖那里的现有文件。

为了进行适当的修复,我打开了一个PR:https://github.com/erlang/otp/pull/985

编辑:PR的结论是该Webtool已过时,并且在版本19中将根本不存在。它也不重要,因此无法计划外的补丁程序。如果出现重要的事情(例如与安全相关的错误),则该补丁可能包括对Webtool的修复。但是,最好的选择是降级到Web工具没有损坏的较低版本,或者执行上面概述的手动修复程序。

10-08 05:08