'Task could not be found' 用于自定义混合任务

'Task could not be found' for custom mix task

我有一个任务 Thing 在 lib/mix/tasks/thing.exs

密码是:

defmodule Mix.Tasks.Thing do
  use Mix.Task

  def run(_) do
    IO.puts "hello world"
  end

end

当我 运行 mix thingmix Thing 我得到 The task thing could not be foundThe task Thing could not be found

我之前试过 运行ning mix compile,但没有用。

我还尝试将 this question 中的代码直接放入我的 mix.exs,如该问题所示。我仍然无法 运行 任务。

混合任务需要编译。如果您将 lib/mix/tasks/thing.exs 重命名为 lib/mix/tasks/thing.ex 那么它应该可以工作。

您可以在以下位置阅读有关脚本模式 (.exs) 的更多信息:http://elixir-lang.org/getting-started/modules.html#scripted-mode