我有一个Elixir
伞状项目。可以使用mix escript.build
将此项目中的每个应用程序编译为可执行文件。
我正在尝试从伞项目的根目录运行此命令并收到以下错误
** (RuntimeError) Trying to access Mix.Project.app_path for an umbrella project but umbrellas have no app
我理解为什么这不起作用。因此,尝试在伞形项目的根目录下创建自定义组合任务。由于根目录没有lib
目录,我添加了一个并在其中创建了一个混合任务。但是mix help
中没有列出这一点。
如何在伞形项目的根目录中定义自定义组合任务?
答案 0 :(得分:9)
您的伞形项目没有代码。这是因为伞中的应用程序无论是否在伞内都可以工作。如果你想拥有一个在多个应用程序之间共享的任务,你应该像在任何其他应用程序中一样在常规应用程序中定义它,并让使用该任务的其他应用程序依赖于它,就像你对任何其他应用程序一样代码。