Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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任务会导致异常。不是Rails应用程序_Ruby_Rake_Rack_Rake Task_Rakefile - Fatal编程技术网

Ruby 简单的rake任务会导致异常。不是Rails应用程序

Ruby 简单的rake任务会导致异常。不是Rails应用程序,ruby,rake,rack,rake-task,rakefile,Ruby,Rake,Rack,Rake Task,Rakefile,我有一个Roda应用程序,其中我有一个简单内容的文件tasks/rake: namespace :db do task :test1 do puts "hello" end end 运行rake-f tasks/main.rake会导致异常: rake aborted! Don't know how to build task 'default' (see --tasks) /home/user123/.gem/ruby/2.4.2/gems/rake-12.3.0/exe/r

我有一个Roda应用程序,其中我有一个简单内容的文件tasks/rake:

namespace :db do
  task :test1 do
    puts "hello"
  end
end
运行rake-f tasks/main.rake会导致异常:

rake aborted!
Don't know how to build task 'default' (see --tasks)
/home/user123/.gem/ruby/2.4.2/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)

如何修复此问题?

您正在告诉Rake使用-f选项运行哪个文件,但您没有告诉它要运行哪个任务,因此默认情况下,它正在查找标记为默认的任务。您还没有将任何内容标记为默认值,因此它不知道该做什么,并且会导致此消息出错。您可以运行以下操作:

rake -f tasks/main.rake db:test1
要运行该特定任务,或者将其标记为默认任务,请执行以下操作:

namespace :db do
  task :test1 do
    puts "hello"
  end
end

task :default => ['db:test1']

rake -f main.rake
作品但是,ENV[RACK_ENV]为空。我如何设置它?