【问题标题】:Running mix task of sub app in umbrella projects root crashes在伞项目根崩溃中运行子应用程序的混合任务
【发布时间】:2017-02-16 10:29:35
【问题描述】:

我在一个伞形项目的子应用(凤凰框架)中做了一个简单的任务。

defmodule Mix.Tasks.Apidocs do
  defmodule Generate do
    use Mix.Task

    @shortdoc "Crawls products for a given store id, or all stores if no store id is given."

    def run([]) do
      Mix.Task.run "compile"
      Mix.Task.run "phoenix.swagger.generate", ["./web/static/assets/apidocs/snappy_api_v1.json"]
    end
  end
end

当我在./apps/sub_app/ 运行它时它运行良好,但是当我在伞形项目的根目录下运行它时它崩溃了 (./)

** (UndefinedFunctionError) function Example.Mixfile.application/0 is undefined or private
    Example.Mixfile.application()
    lib/mix/tasks/swagger.generate.ex:45: Mix.Tasks.Phoenix.Swagger.Generate.run/1
    (mix) lib/mix/task.ex:294: Mix.Task.run_task/3
    (mix) lib/mix/cli.ex:58: Mix.CLI.run_task/2
    (elixir) lib/code.ex:370: Code.require_file/2

我知道在伞形项目中找不到application。 无论如何以正确的方式运行此任务?

【问题讨论】:

  • 如果你做Mix.Task.run "phoenix.swagger.generate", ["./apps/sub_app/web/static/assets/apidocs/snappy_api_v1.json"]怎么办?如果可行,则可能是路径问题,可以使用 __DIR__ 删除硬编码路径。
  • @Dogbert 谢谢。但错误发生在此之前。

标签: elixir


【解决方案1】:

是phoenix_swagger的问题。 我会结束这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-27
    • 2020-02-05
    • 1970-01-01
    • 2013-05-07
    • 1970-01-01
    • 2015-10-29
    • 2017-04-03
    相关资源
    最近更新 更多