RoR尝试运行任务时出错:`require':无法加载此类文件 - rack / handler / rake

时间:2017-02-22 20:37:06

标签: ruby-on-rails ruby rake

每当我尝试运行一个从5天以上的数据库中删除某些记录的Rake任务时,我就遇到了问题,我只是想先测试一下,所以我只用了1天,无论如何,之后我执行rails s RAILS_ENV=production rake delete:delete_5_old_days我收到了错误:require': cannot load such file -- rack/handler/rake

这是整个追溯

/home/miguel/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:91:in `require': cannot load such file -- rack/handler/rake (LoadError)
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:91:in `block (2 levels) in require'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:in `each'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:in `block in require'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:in `each'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:in `require'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/bundler-1.14.5/lib/bundler.rb:107:in `require'
    from /home/miguel/RubymineProjects/adopt_bronze/config/application.rb:7:in `<top (required)>'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:88:in `require'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:88:in `block in server'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:85:in `tap'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:85:in `server'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/commands.rb:18:in `<top (required)>'
    from /home/miguel/RubymineProjects/adopt_bronze/bin/rails:9:in `require'
    from /home/miguel/RubymineProjects/adopt_bronze/bin/rails:9:in `<top (required)>'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/client/rails.rb:28:in `load'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/client/rails.rb:28:in `call'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/client/command.rb:7:in `call'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/client.rb:30:in `run'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/bin/spring:49:in `<top (required)>'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/binstub.rb:31:in `load'
    from /home/miguel/.rvm/gems/ruby-2.3.1/gems/spring-2.0.1/lib/spring/binstub.rb:31:in `<top (required)>'
    from /home/miguel/RubymineProjects/adopt_bronze/bin/spring:15:in `require'
    from /home/miguel/RubymineProjects/adopt_bronze/bin/spring:15:in `<top (required)>'
    from bin/rails:3:in `load'
    from bin/rails:3:in `<main>'

我尝试执行的任务是:

namespace :delete do
  desc 'Delete records older than 5 days'
  task delete_5_days_old: :environment do
    Post.where(['created_at < ?, 1_day_ago']).each do |post|
      post.destroy
    end
  end

end

0 个答案:

没有答案