ArgumentError:尝试连接到redis时Hash的奇数个参数

ord*_*of1 2 ruby-on-rails redis

我正在尝试按照本教程将rails连接到redis .但是当我尝试$redis = Redis.new(:host => 'localhost', :port => 6379)甚至只是尝试时,我会收到以下错误Redis.new.我也试过了新的符号(host: 'localhost',port: 6379).Redis工作(通过redis-cli传递进行ping-PONG测试).

ArgumentError: odd number of arguments for Hash
    from /var/lib/gems/1.9.1/gems/redis-2.1.1/lib/redis.rb:65:in `[]'
    from /var/lib/gems/1.9.1/gems/redis-2.1.1/lib/redis.rb:65:in `info'
    from /var/lib/gems/1.9.1/gems/redis-2.1.1/lib/redis.rb:606:in `inspect'
    from /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/commands/console.rb:90:in `start'
    from /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/commands/console.rb:9:in `start'
    from /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/commands.rb:64:in `<top (required)>'
    from bin/rails:4:in `require'
    from bin/rails:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Config Details:
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$ rails -v
Rails 4.0.0
Run Code Online (Sandbox Code Playgroud)

Zac*_*ett 7

我使用redis gem版本2.1.1收到相同的错误.尝试将redis gem更新为最新版本,即版本3.0.4.

要更新redis gem,您可以运行

gem update redis
Run Code Online (Sandbox Code Playgroud)

更新本地安装的版本,或运行

bundle update redis
Run Code Online (Sandbox Code Playgroud)

更新作为Gemfile的一部分安装的redis gem.

$ irb
1.9.3p392 :001 > require 'redis'
 => true 
1.9.3p392 :002 > Redis.new(:host => 'localhost', :port => 6379)
ArgumentError: odd number of arguments for Hash
from /Users/zachallett/.rvm/gems/ruby-1.9.3-p392/gems/redis-2.1.1/lib/redis.rb:65:in `[]'
from /Users/zachallett/.rvm/gems/ruby-1.9.3-p392/gems/redis-2.1.1/lib/redis.rb:65:in `info'
from /Users/zachallett/.rvm/gems/ruby-1.9.3-p392/gems/redis-2.1.1/lib/redis.rb:606:in `inspect'
from /Users/zachallett/.rvm/rubies/ruby-1.9.3-p392/bin/irb:16:in `<main>'
Run Code Online (Sandbox Code Playgroud)

.

$ irb
1.9.3p392 :001 > require 'redis'
 => true 
1.9.3p392 :002 > Redis.new(:host => 'localhost', :port => 6379)
 => #<Redis client v3.0.4 for redis://localhost:6379/0> 
Run Code Online (Sandbox Code Playgroud)