Hello World计划的{Elixir编译错误

时间:2015-10-07 15:16:51

标签: elixir linuxmint

当我想用Elixir编写一个简单的hello world程序时,它不会编译。我也无法用'c“hello.exs”'加载它。 它总是给我这个错误:

** (CompileError) hello.exs: internal error in expand_module;
crash reason: undef

  in function  erl_parse:new_anno/1
     called as erl_parse:new_anno({function,0,module_info,0,
           [{clause,0,[],[],
                    [{call,0,
                           {remote,0,{atom,0,erlang},{atom,0,get_module_info}},
                           [{atom,0,elixir_compiler_0}]}]}]})
  in call from sys_pre_expand:'-module_predef_funcs/1-lc$^0/1-0-'/1 (sys_pre_expand.erl, line 119)
  in call from sys_pre_expand:module_predef_funcs/1 (sys_pre_expand.erl, line 119)
  in call from sys_pre_expand:module/2 (sys_pre_expand.erl, line 81)
  in call from compile:expand_module/1 (compile.erl, line 1202)
  in call from compile:'-internal_comp/4-anonymous-1-'/2 (compile.erl, line 295)
  in call from compile:fold_comp/3 (compile.erl, line 321)
  in call from compile:internal_comp/4 (compile.erl, line 305)
    (stdlib) lists.erl:1336: :lists.foreach/2
    (elixir) lib/code.ex:307: Code.require_file/2

我使用Linux Mint 17并使用此处提到的脚本安装了elixir:

http://datamelon.io/blog/2015/elixir-installer-for-linux-mint.html

在IEX中做某些事情确实有用。

如何让我的编译器工作?

提前谢谢!

2 个答案:

答案 0 :(得分:1)

Linux发行版将Erlang分解为多个包,这非常令人困惑。您可能需要找到一个名为“erlang-parser”或“erlang-parser-tools”或类似的Erlang包,您应该很高兴。

答案 1 :(得分:0)

感谢您对此进行调查。我现在用这种方式解决了它: 我有Erlang版本17.0。所以我尝试了17.1版,它仍然没有用。 但在升级到Erlang 18.0后,它奇迹般地奏效了。

向kerl致敬,这使得这个过程快速而轻松。