当前位置: 首页 > 面试题库 >

RuntimeError:-ERR在Ruby上运行redis gem的未知命令

龚博涛
2023-03-14
问题内容

环境:

Ubuntu 9.10(在VirtualBox中运行)
Ruby v1.8.7
Redis gem v2.0.6

在irb上,当我尝试初始化Redis时,得到一个RuntimeError。这是一个片段:

irb(main):001:0> require 'rubygems'
=> true

irb(main):002:0> require 'redis'
WARNING: using the built-in Timeout class which is known to have issues when used for opening connections. Install the SystemTimer gem if you want to make sure the Redis client will not hang.
=> true

irb(main):003:0> r = Redis.new
RuntimeError: -ERR unknown command
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis/client.rb:172:in `format_error_reply'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis/client.rb:162:in `format_reply'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis/client.rb:105:in `read'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis/client.rb:35:in `call'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis/client.rb:63:in `process'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis/client.rb:245:in `ensure_connected'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis/client.rb:61:in `process'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis/client.rb:199:in `logging'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis/client.rb:60:in `process'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis/client.rb:34:in `call'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis.rb:51:in `info'
  from /usr/lib/ruby/gems/1.8/gems/redis-2.0.6/lib/redis.rb:560:in `inspect'
  from /usr/lib/ruby/1.8/irb.rb:302:in `output_value'
  from /usr/lib/ruby/1.8/irb.rb:151:in `eval_input'
  from /usr/lib/ruby/1.8/irb.rb:263:in `signal_status'
  from /usr/lib/ruby/1.8/irb.rb:147:in `eval_input'
  from /usr/lib/ruby/1.8/irb.rb:146:in `eval_input'
  from /usr/lib/ruby/1.8/irb.rb:70:in `start'
  from /usr/lib/ruby/1.8/irb.rb:69:in `catch'
  from /usr/lib/ruby/1.8/irb.rb:69:in `start'
  from /usr/bin/irb:13irb(main):004:0> exit

有人遇到过吗?有任何想法吗?


问题答案:

如果您的redis是9.10发行版提供的版本,则该版本太旧而无法与2.x gem一起运行。2.x gem至少需要1.2 redis



 类似资料:
  • 如何在linux命令行中从maven命令运行文件?

  • 问题内容: 我有一个我在另一台PC上工作过的本机项目,现在我想继续在另一台Linux机器上处理此确切的项目文件夹。 因此,现在我有了项目文件夹,该文件夹不包含node_modules目录,但确实包含“ package.json”。据我了解,在目录内进行NPM安装时,应安装并创建具有所有必需依赖项的node_modules目录。但是,一段时间后操作失败,并显示错误“ npm ERR!cb()neve

  • 问题内容: 我正在使用redis作为读取缓存。我已经创建了一个初始化器 config / initializer / redis.rb 每当创建新工作线程时,我都会在unicorn.rb中使用此全局变量来创建新连接。 每当我需要访问我的Redis服务器时,我也会使用此全局变量。但是我不习惯使用这个全局变量。有没有比使用全局变量更好的选择? 问题答案: 进一步扩展方法建议,如下所示在初始化器中命名模

  • 问题内容: 我可以在主机上运行docker命令吗?我安装在Docker容器中,现在可以以某种方式在主机上使用命令(在后台使用Docker容器的aws)吗? 我的情况是这样的:我在生产主机上有数据库备份。现在我有Jenkins cron作业,它将从db容器中获取sql文件,并将其放入服务器文件夹中。现在我还希望jenkins将此备份文件上传到AWS存储上,但是在主机上我没有安装aws,也不想在主机上

  • 我目前正在尝试学习如何使用PhoneGap为android手机开发应用程序。我得到了这本名为《PhoneGap 2x移动应用程序开发》的书。这本书真的很好,不言自明,但我的问题是,当作者想通过命令行创建d项目时,他使用的是Unix命令,因为他运行的是Unix PC。我运行的是Windows,使用CMD来遵循他的命令对我来说有点难,因为我不理解他的所有命令。 他写道: 有人能告诉我如何在window

  • 是否可以在 Ansible 主机上运行命令? 我的场景是,我想从内部托管的git服务器(并且不能在公司防火墙之外访问)进行结帐。然后我想将结账(tarbated)上传到正式服(托管在外部)。 目前,我正在考虑运行一个脚本,执行签出、tarballs,然后运行部署脚本-但如果我可以将其集成到Ansible中,那将是更好的选择。