在 Windows 中编译 Erlang 模块时出错

Error when compiling Erlang modules in Windows

我是 Erlang 编程和 Stack Overflow 的初学者,所以我希望这不是一个非常愚蠢的问题。

我已经在 Windows 10 上从官方网站安装了 Erlang/OTP 20.1。我正在尝试从 erl、werl 或 git bash(来自正确的目录),我收到以下错误:

3> c(useless).
useless.erl: internal error in beam_asm;
crash reason: undef

in function  maps:size/1
 called as maps:size(#{})
in call from beam_dict:atom/2 (beam_dict.erl, line 88)
in call from beam_asm:assemble/5 (beam_asm.erl, line 65)
in call from beam_asm:module/5 (beam_asm.erl, line 62)
in call from compile:beam_asm/2 (compile.erl, line 1454)
in call from compile:'-internal_comp/5-anonymous-1-'/3 (compile.erl, line 342)
in call from compile:fold_comp/4 (compile.erl, line 369)
in call from compile:internal_comp/5 (compile.erl, line 353)

您认为问题出在哪里?无论保存在何处,每个模块都会出现完全相同的错误。有趣的是,我昨天可以毫无问题地编译和 运行 这些模块,但我在昨天之前遇到了同样的问题!

非常感谢!

伯纳特

您是否创建了一个名为 "maps" 的模块?在那种情况下,问题是您已经用没有此类功能的标准地图模块(其中包含 size/1 功能)覆盖了标准地图模块,因此 "undef".