0

我通过 gem install redis 和 gem install resque 在 Rails 2.3.8 中安装了 redis 和 resque。resque 和 redis 的版​​本分别是 1.18.0 和 2.2.2。我开始了工人

RAILS_ENV=development resque-web config/initializers/resque.rb

我还在 config/redis.yml 文件中做了如下配置:

defaults: &defaults
  host: localhost
  port: 6379
  ...

并且config/initializers/resque.rb作为:

config = YAML::load(File.open("#{Rails.root}/config/redis.yml"))[Rails.env]
Resque.redis = Redis.new(:host => config['host'], :port => config['port'])

但是当我想通过以下方式启动 resque-web 时

RAILS_ENV=development resque-web config/initializers/resque.rb

我收到这个错误

./config/initializers/../../vendors/rails/railties/lib/initializer.rb:27:in 'require_frameworks':已经无法为 [] 激活机架(~> 1.1.0,运行时)为 ["vegas-0.1.11", "resque-1.18.0"] 激活 rack-1.4.1

我发现它resque 1.18.0需要sinatra 1.3.3作为它的依赖项,它又需要rack >= 1.3.0作为它的依赖项。但是,对于actionpackfor rails 2.3.8, Wanted 的版本rack1.1.0。谁能建议我如何解决这个问题?

4

1 回答 1

0

您必须使用一个版本,resque该版本需要较低版本sinatra,然后需要rackrails 2.3.8.

您可以手动解决此问题,或尝试以下选项之一:

  1. 使用 RubyGems 依赖 API (http://guides.rubygems.org/rubygems-org-api/)
  2. bundler在 Rails 2.3.8 应用程序中进行改造
于 2012-10-31T11:55:08.857 回答