[英]Rake aborted! Don't know how to build task
I have a rake task in semester.rake
file. 我在
semester.rake
文件中有一个rake任务。 It looks like this 看起来像这样
namespace :db do
desc "generate semester data"
task semester: :environment do
semester = Semester.create!(name: "SummerSemseter")
semester = Semester.create!(name: "WinterSemester")
semester = Semester.create!(name: "Spring Semester")
end
end
and I run the task as rake semester
. 我以
rake semester
身份执行任务。 This gives me error 这给了我错误
rake aborted!
Don't know how to build task 'semester' (see --tasks)
/home/john/.rvm/gems/ruby-2.2.4/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
/home/john/.rvm/gems/ruby-2.2.4/bin/ruby_executable_hooks:15:in `eval'
/home/john/.rvm/gems/ruby-2.2.4/bin/ruby_executable_hooks:15:in `<main>'
(See full trace by running task with --trace)
Why I get this error and what would be the solution? 为什么我会收到此错误以及解决方案是什么?
Your semester
task is in a namespace db
. 您的
semester
任务位于命名空间db
。
You need therefore to run it with: 因此,您需要运行它:
rake db:semester
Adding to Shadwell's answer your semester
is in a namespace db
. 添加到Shadwell的答案你的
semester
是在命名空间db
。
so, rake db:semester
will work for you 所以,
rake db:semester
对你rake db:semester
You can know your rake tasks in your namespace using the command 您可以使用该命令了解命名空间中的rake任务
rake -T | grep namespace
Eg: 例如:
namespace :my_namespace do
desc "TODO"
task :my_task1 => :environment do
end
desc "TODO"
task :my_task2 => :environment do
end
end
Gives, 给人,
$ rake -T | grep my_namespace
rake my_namespace:my_task1 # TODO
rake my_namespace:my_task2 # TODO
So, if you run the command, 所以,如果你运行命令,
rake -T | grep db
rake -T | grep db
will give your rake taks under db namespace. rake -T | grep db
将在db命名空间下提供你的rake taks。
rake -T
command lists all rake taks available including yours rake -T
命令列出了所有可用的佣金,包括你的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.