Macros 凤凰伞汇编
我有一个包含3个应用程序的总括项目:Macros 凤凰伞汇编,macros,elixir,phoenix-framework,Macros,Elixir,Phoenix Framework,我有一个包含3个应用程序的总括项目:main\uweb、main和child 我在main中定义了一个宏,child应用程序使用该宏 在编译时,我有时会收到一个错误消息,说Main.MyMacro未在child\u app.ex的some\u文件中定义。当我再次运行相同的命令时,一切正常 我想这是因为在编译宏之前,child app.ex中的某个文件试图使用宏 确保加载Main.MyMacro,从而避免此错误的好方法是什么 我不确定运行mix compile apps/main是否正确如果伞式应
main\uweb
、main
和child
我在main
中定义了一个宏,child
应用程序使用该宏
在编译时,我有时会收到一个错误消息,说Main.MyMacro
未在child\u app.ex的some\u文件中定义。当我再次运行相同的命令时,一切正常
我想这是因为在编译宏之前,child app.ex中的某个文件试图使用宏
确保加载Main.MyMacro
,从而避免此错误的好方法是什么
我不确定运行mix compile apps/main
是否正确如果伞式应用程序之间存在依赖关系,则需要明确列出它们
您应该将其添加到apps/child/mix.exs
:
def deps do
[
# ... other deps ...
{:main, in_umbrella: true}
]
end
现在Mix将确保在编译child
之前编译main