我遇到了一个不寻常的问题,我无法找到答案。我正在使用一个库(libcluster),它允许您定义要在配置文件中使用的函数。所以在我的总括项目中,在一个config/def.exs
文件中我有:
config libcluster: connect: {Module.Name, :function, args}
在dev.exs
然后有一个lib/module/name.ex
with函数
def function(arg), do: <some code>
mix run
将第一次运行代码。但是,如果我再次运行代码,我会收到错误消息:
** (RuntimeError) Elixir.Module.Name.function/1 is undefined!
如果我运行mix clean
,然后mix run
一切都会再次运行。为什么我必须在运行代码之前清理代码才能让运行时看到函数?