耙子中止!不知道如何构建任务
Rake aborted! Don't know how to build task
我在 semester.rake
文件中有一个 rake 任务。看起来像这样
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
我 运行 的任务是 rake semester
。这给了我错误
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)
为什么会出现此错误,解决方案是什么?
您的 semester
任务在命名空间 db
中。
因此您需要运行它:
rake db:semester
添加到 Shadwell 的回答中,您的 semester
在命名空间 db
.
中
所以,rake db:semester
对你有用
您可以使用命令
知道您的命名空间中的 rake 任务
rake -T | grep namespace
例如:
namespace :my_namespace do
desc "TODO"
task :my_task1 => :environment do
end
desc "TODO"
task :my_task2 => :environment do
end
end
给予,
$ rake -T | grep my_namespace
rake my_namespace:my_task1 # TODO
rake my_namespace:my_task2 # TODO
因此,如果您 运行 命令,
rake -T | grep db
将在 db 命名空间下为您提供佣金。
rake -T
命令列出所有可用的抽成,包括你的
我在 semester.rake
文件中有一个 rake 任务。看起来像这样
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
我 运行 的任务是 rake semester
。这给了我错误
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)
为什么会出现此错误,解决方案是什么?
您的 semester
任务在命名空间 db
中。
因此您需要运行它:
rake db:semester
添加到 Shadwell 的回答中,您的 semester
在命名空间 db
.
所以,rake db:semester
对你有用
您可以使用命令
知道您的命名空间中的 rake 任务rake -T | grep namespace
例如:
namespace :my_namespace do
desc "TODO"
task :my_task1 => :environment do
end
desc "TODO"
task :my_task2 => :environment do
end
end
给予,
$ rake -T | grep my_namespace
rake my_namespace:my_task1 # TODO
rake my_namespace:my_task2 # TODO
因此,如果您 运行 命令,
rake -T | grep db
将在 db 命名空间下为您提供佣金。
rake -T
命令列出所有可用的抽成,包括你的