在Rails 2.3.8中安装resque 1.18的gem版本冲突

时间:2012-10-31 11:51:49

标签: gem resque ruby-on-rails-2 versions

我通过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 as:

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

我收到此错误

  

./配置/初始化/../../厂商/轨道/ railties / LIB / initializer.rb:27:在   'require_frameworks':无法激活[]的机架(〜> 1.1.0,运行时),   已激活rack-1.4.1 for [“vegas-0.1.11”,“resque-1.18.0”]

我发现resque 1.18.0需要sinatra 1.3.3作为依赖,这又需要rack >= 1.3.0作为依赖。但是,对于actionpack的{​​{1}},rails 2.3.8所需的版本为rack。任何人都可以建议我如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您必须使用resque版本,该版本需要较低版本的sinatra,然后需要与rack兼容的rails 2.3.8版本。

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

  1. 使用RubyGems依赖API(http://guides.rubygems.org/rubygems-org-api/)<< li>
  2. 在Rails 2.3.8应用程序中改进bundler