user2355213
user2355213

Reputation: 447

'Task could not be found' for custom mix task

I have a task Thing in lib/mix/tasks/thing.exs

The code is:

defmodule Mix.Tasks.Thing do
  use Mix.Task

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

end

When I run mix thing or mix Thing I get The task thing could not be found or The task Thing could not be found

I've tried running mix compile beforehand, which didn't help.

I also tried putting the code from this question directly into my mix.exs, as shown in that question. I still couldn't run the task.

Upvotes: 9

Views: 3255

Answers (1)

Gazler
Gazler

Reputation: 84150

Mix tasks need to be compiled. If you rename from lib/mix/tasks/thing.exs to lib/mix/tasks/thing.ex then it should work.

You can read more about scripted mode (.exs) at: http://elixir-lang.org/getting-started/modules.html#scripted-mode

Upvotes: 9

Related Questions