【问题标题】:uninitialized constant ActiveSupport::Cache::MemCacheStore::MemCache未初始化的常量 ActiveSupport::Cache::MemCacheStore::MemCache
【发布时间】:2010-07-06 13:14:42
【问题描述】:

当我使用 memcache (gem) 和 rails 3.0.0beta 启动我的项目时遇到此错误

这是完整的跟踪:

/Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/activesupport-3.0.0.beta4/lib/active_support/cache/mem_cache_store.rb:39:in `build_mem_cache': uninitialized constant ActiveSupport::Cache::MemCacheStore::MemCache (NameError)
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/activesupport-3.0.0.beta4/lib/active_support/cache/mem_cache_store.rb:65:in `initialize'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/activesupport-3.0.0.beta4/lib/active_support/cache.rb:64:in `new'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/activesupport-3.0.0.beta4/lib/active_support/cache.rb:64:in `lookup_store'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/railties-3.0.0.beta4/lib/rails/application/bootstrap.rb:47
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/activesupport-3.0.0.beta4/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/activesupport-3.0.0.beta4/lib/active_support/core_ext/kernel/reporting.rb:22:in `with_warnings'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/activesupport-3.0.0.beta4/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/railties-3.0.0.beta4/lib/rails/application/bootstrap.rb:47
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/railties-3.0.0.beta4/lib/rails/initializable.rb:25:in `instance_exec'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/railties-3.0.0.beta4/lib/rails/initializable.rb:25:in `run'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/railties-3.0.0.beta4/lib/rails/initializable.rb:55:in `run_initializers'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/railties-3.0.0.beta4/lib/rails/initializable.rb:54:in `each'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/railties-3.0.0.beta4/lib/rails/initializable.rb:54:in `run_initializers'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/railties-3.0.0.beta4/lib/rails/application.rb:119:in `initialize!'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/railties-3.0.0.beta4/lib/rails/application.rb:81:in `send'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/railties-3.0.0.beta4/lib/rails/application.rb:81:in `method_missing'
    from /Users/netbe/Projects/banana/config/environment.rb:5
    from config.ru:3:in `require'
    from config.ru:3
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/rack-1.1.0/lib/rack/builder.rb:46:in `instance_eval'
    from /Users/netbe/.rvm/gems/ruby-1.8.7-p249/gems/rack-1.1.0/lib/rack/builder.rb:46:in `initialize'
    from config.ru:1:in `new'
    from config.ru:1

这是我 environment.rb 中的一些代码,第 5 行:模块缓存

require 'active_support/cache'
module ActiveSupport
  module Cache
    class MemCacheStore < Store
      def logger
        Rails.logger
      end
    end
  end
end

有没有人能猜出这里出了什么问题,是不是 rails 3 的问题?

【问题讨论】:

    标签: ruby-on-rails-3 memcached


    【解决方案1】:

    实际上你还没有将 gem "memcache-client" 添加到你的 Gemfile 中,显然你只有 gem "memcache"

    【讨论】:

      【解决方案2】:

      我认为我的回答为时已晚 :) 但可能对某人有所帮助。我遇到了同样的错误,问题出在 lib/memcache.rb 目录中的文件名上。重命名后,项目照常启动。

      【讨论】:

        猜你喜欢
        • 2011-10-14
        • 1970-01-01
        • 2011-07-30
        • 2012-01-21
        • 1970-01-01
        • 1970-01-01
        • 2011-07-07
        • 2011-10-17
        • 1970-01-01
        相关资源
        最近更新 更多