Elixir 1.10.2/Phoenix 1.5模板更改后,通常会得到;无法定义模块。。。因为它目前正在“中定义”;(2020年年中)
我仍然经常使用最新的elixir/phoenix出现此错误,因此这与elixir v1.0.3中修复的错误不同,如下所述: 在另一个终端中运行mix.compile会显示错误,在本例中,它是一个slime模板:Elixir 1.10.2/Phoenix 1.5模板更改后,通常会得到;无法定义模块。。。因为它目前正在“中定义”;(2020年年中),elixir,phoenix,slime,Elixir,Phoenix,Slime,我仍然经常使用最新的elixir/phoenix出现此错误,因此这与elixir v1.0.3中修复的错误不同,如下所述: 在另一个终端中运行mix.compile会显示错误,在本例中,它是一个slime模板: ** (TokenMissingError) lib/tealdog_web/templates/workspace/_row_controls_center.html.sleex:30: missing terminator: " (for string starting a
** (TokenMissingError) lib/tealdog_web/templates/workspace/_row_controls_center.html.sleex:30: missing terminator: " (for string starting at line 27)
(eex 1.10.2) lib/eex/compiler.ex:45: EEx.Compiler.generate_buffer/4
(phoenix 1.5.4) lib/phoenix/template.ex:351: Phoenix.Template.compile/3
(phoenix 1.5.4) lib/phoenix/template.ex:166: anonymous fn/4 in Phoenix.Template."MACRO-__before_compile__"/2
(elixir 1.10.2) lib/enum.ex:2111: Enum."-reduce/3-lists^foldl/2-0-"/3
(phoenix 1.5.4) expanding macro: Phoenix.Template.__before_compile__/1
lib/tealdog_web/views/workspace_view.ex:1: TealdogWeb.WorkspaceView (module)
(elixir 1.10.2) lib/kernel/parallel_compiler.ex:304: anonymous fn/4 in Kernel.ParallelCompiler.spawn_workers/7
我不确定这是否是特定于粘液。我在GitHub()上的slime lang
问题列表中没有看到任何问题
这似乎是一个相当普遍的问题,在许多情况下没有得到解决,而且很难纠正。有人有办法吗
defp deps do
[{:phoenix, "~> 1.5.3"},
...
{:phoenix_slime, "~> 0.13.1"},
...]
Elixir版本1.10.2,选项21
elixir -v
Erlang/OTP 21 [erts-10.3.4] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]
Elixir 1.10.2 (compiled with Erlang/OTP 21)
此错误主要发生在两种情况下:
- 模块之间存在无法通过编译器的依赖关系图解决的动态交叉引用,或者
- 某些库/代码使用动态创建模块,但编写得不够准确,无法处理此问题
alias
或类似工具)
此外,使用库可能使错误源检测更容易