我试图通过安装绑定来为Cassandra数据库使用Ruby绑定:
sudo gem install cassandra
并尝试加载它:
require 'cassandra'
不幸的是,这失败了,错误:
Gem::LoadError: RubyGem version error: thrift_client(0.8.1 not ~> 0.7.0)
我已经通过安装过时的依赖项修复了它:
sudo gem install thrift_client -v "~> 0.7.0"
但之后又出现了另一个错误,我不知道如何修复:
LoadError: no such file to load -- thrift_client/connection
使用Ruby 1.8.7和1.9.3-p0在Ubuntu 11.10和OSX 10.7上进行测试。我是做错了什么,或者Cassandra和Ruby不打算一起工作?
答案 0 :(得分:3)
github上的最新提交表明他们将很快推出一个新版本。这个可能没有提到的依赖问题。
我创建了一个可以帮助您正确设置项目的要点:https://gist.github.com/1878226
答案 1 :(得分:2)
我和我的团队在使用原始cassandra宝石时遇到了很多问题。 宝石似乎已被开发者抛弃(最后,0.12.1,发布于2011年8月22日)并且与thrift v0.8不兼容。使用thrift v0.7对我们来说不是一个选项,因为你不能在不攻击某些.c文件的情况下在Ubuntu上编译它,所以我们决定使用mcmire-cassandra gem而不是http://rubygems.org/gems/mcmire-cassandra。
尽管mcmire在修复原始宝石方面做得非常出色,但就提供的功能而言,cassandra的ruby客户端仍然落后于竞争对手。如果您期望高负载并且需要连接池等功能,例如您可能会考虑使用支持它的Python或Java客户端。
希望这会有所帮助。
答案 2 :(得分:0)
我想知道使用JRuby是否适合您?在这种情况下,您可以将Java客户端用于Cassandra,我希望能够获得更好的支持和更好的结果。