Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 没有这样的文件要加载——memcache,但它已安装?_Ruby_Ruby On Rails 3_Gem_Memcached_Redmine - Fatal编程技术网

Ruby 没有这样的文件要加载——memcache,但它已安装?

Ruby 没有这样的文件要加载——memcache,但它已安装?,ruby,ruby-on-rails-3,gem,memcached,redmine,Ruby,Ruby On Rails 3,Gem,Memcached,Redmine,我将为Redmine设置负载平衡和故障切换: HAProxy 1 ------- Apache 1 ------- MySQL 1 | (Repcached) | | | | (virtual IP) (memcached repl) (master-master repl) | |

我将为Redmine设置负载平衡和故障切换:

HAProxy 1 ------- Apache 1  ------- MySQL 1
     |           (Repcached)             |
     |                |                  |
(virtual IP)    (memcached repl)   (master-master repl)
     |                |                  |
     |           (Repcached)             |
HAProxy 2 ------- Apache 2  ------- MySQL 2
我想用于会话存储:

/usr/local/memcached/bin/memcached-d-u memcached-l 192.168.3.118-c 512-t 8-m 512-p 11211-p/usr/local/memcached/var/run/redmine.pid-f 1.25-x 192.168.6.142-x 112110

复制功能工作正常(通过telnet测试)

已安装memcache客户端:

# gem list memcache-client

*** LOCAL GEMS ***

memcache-client (1.8.5)
并且可以从命令行加载:

# su - apache -s /bin/bash
-bash-3.2$ gem contents --no-prefix memcache-client
FAQ.rdoc
History.rdoc
LICENSE.txt
README.rdoc
Rakefile
bin/memcached_top
lib/continuum_native.rb
lib/memcache.rb
lib/memcache/event_machine.rb
lib/memcache/version.rb
lib/memcache_util.rb
performance.txt
test/test_benchmark.rb
test/test_event_machine.rb
test/test_mem_cache.rb

-bash-3.2$ ruby -rubygems -e 'require "memcache"'
-bash-3.2$ echo $?
0
我的服务器上只有一个Ruby版本:

-bash-3.2$ which ruby
/usr/bin/ruby
-bash-3.2$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.10
  - RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/lib/ruby/gems/1.8
     - /var/www/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/
config/environment.rb

require 'memcache'

config.action_controller.session_store = :mem_cache_store

memcache_options = {
   :compression => true,
   :debug => false,
   :namespace => "mem-#{RAILS_ENV}",
   :readonly => false,
   :urlencode => false
}

memcache_servers = [ '192.168.3.118:11211', '192.168.6.142:11211' ]

CACHE = MemCache.new(memcache_options)
CACHE.servers = memcache_servers
ActionController::Base.session_options[:cache] = CACHE
但在重新启动Apache时会抛出以下错误:

没有这样的文件要加载--memcache

我错过什么了吗

附言:


您需要将
gem'memcache client'
添加到gem文件。

您是否将memcache添加到gem文件?请随时发布您的评论作为答案,我会接受。谢谢。正是“memcache客户端”。
  Redmine version                          2.0.3.stable
  Ruby version                             1.8.7 (x86_64-linux)
  Rails version                            3.2.6
  Environment                              production
  Database adapter                         MySQL