Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何将Rake任务添加到默认Rake任务?_Ruby_Rake - Fatal编程技术网

Ruby 如何将Rake任务添加到默认Rake任务?

Ruby 如何将Rake任务添加到默认Rake任务?,ruby,rake,Ruby,Rake,不知何故,Rspec和Cucumber正在将它变成我的默认rake任务(这很好,因为我希望它们在那里)。但是我尝试过在默认任务中添加额外的任务,但没有效果 将任务添加到默认rake任务的正确方法是什么?通常,您的Rakefile将具有以下内容: task :default => [:spec] 您只需将更多任务添加到此列表中。中的答案对于无名称空间的rake任务是正确的 如果希望在名称空间中有一个默认任务,则需要执行以下操作 namespace :mynamespace do des

不知何故,Rspec和Cucumber正在将它变成我的默认rake任务(这很好,因为我希望它们在那里)。但是我尝试过在默认任务中添加额外的任务,但没有效果


将任务添加到默认rake任务的正确方法是什么?

通常,您的Rakefile将具有以下内容:

task :default => [:spec]
您只需将更多任务添加到此列表中。

中的答案对于无名称空间的rake任务是正确的

如果希望在名称空间中有一个默认任务,则需要执行以下操作

namespace :mynamespace do
  desc "This should be the default"
  task :mydefault do
    Do.something_by_default
  end

  desc "Another task in this namespace"
  task :other do
    Do.something
  end
end

desc "This is the default task of mynamespace"
task mynamespace: 'mynamespace:mydefault'
然后您可以运行
rake mynamespace
以及
rake mynamespace:other
rake mynamespace:mydefault

您还可以从带名称空间的默认任务中删除“desc”行,这样它就不会出现在
rake--tasks
(只有mynamespace和mynamespace:other将显示在--tasks命令中)。如果不这样做,它们都将出现在--tasks命令中,因此看起来是重复的。