Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'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.

like image 590
user2355213 Avatar asked Aug 19 '15 19:08

user2355213


1 Answers

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

like image 64
Gazler Avatar answered Oct 23 '22 20:10

Gazler