我有一个包含3个应用的伞状项目:main_web
,main
和child
。
我在main
应用使用的child
中定义了一个宏。
编译时,我有时会收到一条错误,说Main.MyMacro
some_file_in_child_app.ex
未在some_file_in_child_app.ex
中定义,当我再次运行相同的命令时,一切都很好。
我认为这是来自Main.MyMacro
尝试在编译之前使用宏。
确保加载mix compile apps/main
的好方法是什么,以便我可以避免此错误?
我不确定是否正确行驶react native
是正确的方法
答案 0 :(得分:4)
如果您的伞形应用程序之间存在依赖关系,则需要明确列出它们。
您应该将其添加到apps/child/mix.exs
:
def deps do
[
# ... other deps ...
{:main, in_umbrella: true}
]
end
现在,Mix会确保在编译main
之前编译child
。