2012-03-19 10 views
11

私はRails 3.1.3アプリを持っており、それに宝石「redis」を差し込もうとしています。redis_storeのキャッシュストアアダプタを見つけることができません

私はGemfileに宝石を次のよう追加しました:

config.gem "redis-store", :lib => "redis-store" 
require "redis-store" # HACK 
config.cache_store = :redis_store 

宝石 "のRedisストア"

をこの記事に続いて、私は環境/ development.rbに次のコードを追加しました

アプリはcache_storeに文句、起動しません:「lookup_store `/gems/activesupport-3.1.3/lib/active_support/cache.rb:65:in

:キャッシュストアアダプタが見つかりませんでしたredis_store(ロードするファイルはありません - active_support/cache/redis_store)(RuntimeError)。

私が代わりに「Redisの店」の宝石「のRedisレール」を含め、それを考え出したが、私は別のエラーを取得しています:

/Users/AntonAL/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/rubygems_integration.rb:143:in `gem': redis-store is not part of the bundle. Add it to Gemfile. (Gem::LoadError)

gem 'redis-store' 
gem 'redis-rails' 
...それらの両方を維持します

...

…gems/redis-rails-0.0.0/lib/redis-rails/version.rb:1: Redis is not a module (TypeError) 
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require' 
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require' 
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency' 
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in' 
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency' 
    from …/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require' 
    from …/gems/redis-rails-0.0.0/lib/redis-rails.rb:1 
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require' 
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require' 
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each' 
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `require' 
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each' 
    from …/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require' 
    from …/gems/bundler-1.0.21/lib/bundler.rb:122:in `require' 
    from …/config/application.rb:11 
    from …/gems/railties-3.1.3/lib/rails/commands.rb:52:in `require' 
    from …/gems/railties-3.1.3/lib/rails/commands.rb:52 
    from …/gems/railties-3.1.3/lib/rails/commands.rb:49:in `tap' 
    from …/gems/railties-3.1.3/lib/rails/commands.rb:49 
    from script/rails:6:in `require' 
    from script/rails:6 

ヘルプ、してください別のエラーを与えます!私は私のGemfileに以下のすべてを追加するまで

答えて

9

FYI
gem 'redis-store', '~> 1.0.0' 
+1

ありがとう、最近私は解決策も見つけました。私は自分のレール環境のバージョンにマッチする "redis-store"のバージョンを指定することができました。 – AntonAL

+0

Blam!ありがとう、トン百万円。 – Trip

9

を試してみてください...私は同様の問題を抱えていました。私はRails 3.2.3を実行しています。

私は、これは、あなたがあなたのコメントに何を意味するのかAntonALであると仮定し
gem 'redis' 
    gem 'redis-store' 
    gem 'redis-rails' 
+8

私はRails 3.2.3と同様の問題がありました。私は 'gem 'redis-store''を' gem' redis-rails''に置き換えました。 – Ross

+1

これは冗長です - 'redis-rails'は依存関係として他の2つの宝石を含みます – Yarin

0

- これが私の仕事です:

gem 'redis-rails', RAILS_VERSION # Where RAILS_VERSION matches the version of your rails gem 

は、それよりも単純を取得できません:)

+1

これらのバージョンが同期していることは偶然です。間違いなく、Gemfileを使うのはお勧めできません。 – jordanpg

関連する問題