我有一个使用Ruby On Rails 3.2.3创建的旧应用程序 .

托管此应用程序的服务器使用nginx和unicorn . 这个应用程序有一个使用memcached实现的缓存层,并连接到memcached使用“memcache-client”gem .

我想用dalli替换memcache-client . 我按照Github上dalli页面上的说明如何设置它,一切都在本地机器上工作正常但是当代码部署到服务器时出现以下错误:

ERROR -- : Could not find cache store adapter for dalli_store (no such file to load -- active_support/cache/dalli_store) (RuntimeError)

设置dalli的步骤如下:

  • gem 'dalli'已添加到Gemfile

  • config.cache_store =:dalli_store已添加到config / environments / production.rb

Dalli安装在服务器上(版本2.5.0),但是unicorn在更新后无法启动并抛出:

ERROR -- : Could not find cache store adapter for dalli_store (no such file to load -- active_support/cache/dalli_store) (RuntimeError)
/path_to_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/cache.rb:65:in `rescue in lookup_store'
/path_to_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/cache.rb:62:in `lookup_store'
/path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application/bootstrap.rb:54:in `block (2 levels) in <module:Bootstrap>'
/path_to_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/core_ext/kernel/reporting.rb:11:in `block in silence_warnings'
/path_to_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/core_ext/kernel/reporting.rb:22:in `with_warnings'
/path_to_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
/path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application/bootstrap.rb:54:in `block in <module:Bootstrap>'
/path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec'
/path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run'
/path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `block in run_initializers'
/path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each'
/path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers'
/path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!'
/path_to_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
/path_to_app/releases/20121982162903/config/environment.rb:5:in `<top (required)>'
config.ru:4:in `require'
config.ru:4:in `block in <main>'*

如果其他人有类似的问题或知道解决方案,请告诉我 .