如何设置默认的 Elixir 混合任务

Posted

技术标签:

【中文标题】如何设置默认的 Elixir 混合任务【英文标题】:How do I set the default Elixir mix task 【发布时间】:2013-10-05 01:33:45 【问题描述】:

如果我有一个类似mix.exs 的文件:

defmodule Mix.Tasks.My_task do
  use Mix.Task

  @shortdoc "Perform my task"

  def run(_) do
    IO.puts "Working"
  end
end

defmodule ElixirKoans.Mixfile do
  use Mix.Project

  def project do

  ...    

end

我可以用mix my_task 愉快地运行它。

我如何将my_task设为默认值,以便在我没有任务运行mix时执行?

【问题讨论】:

【参考方案1】:

看起来您可以使用 default_task 在项目块 (mix.exs) 中定义:

def project do
  [default_task: "run"]
end

更多信息:https://github.com/elixir-lang/elixir/blob/f3f64cdba205253ca0bbc0ce6a5dddd500ffb48f/lib/mix/lib/mix/project.ex#L266-L280

【讨论】:

谢谢你。我希望我能给你一个额外的 +1 来突出显示行号,我不知道这是可能的。 不错!您可以使用 click 选择 github 上的行,然后使用 shift + click :) 以防万一其他人遇到与我相同的问题,这应该进入 mix.exs,而不是您已实施的混合任务。

以上是关于如何设置默认的 Elixir 混合任务的主要内容,如果未能解决你的问题,请参考以下文章

混合(elixir)没有这样的文件或目录

如何在 Windows 8.1 上运行 Elixir 脚本

Elixir 混合自动确认

Elixir:来自函数的结构默认值

Laravel_Elixir_gulp任务利器安装

在 Laravel Elixir 升级后使用严格添加到每个文件 - 损坏的脚本