【问题标题】:gem version conflict installing resque 1.18 in Rails 2.3.8在 Rails 2.3.8 中安装 resque 1.18 的 gem 版本冲突
【发布时间】:2012-10-31 11:51:48
【问题描述】:

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

启动了 worker
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 作为它的依赖项。但是,对于 actionpackrails 2.3.8,所需的 rack 版本是 1.1.0。谁能建议我如何解决这个问题?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-06
      • 1970-01-01
      • 2016-01-09
      • 2012-02-09
      • 2020-10-12
      • 2012-11-29
      • 1970-01-01
      • 2019-10-06
      相关资源
      最近更新 更多