Ruby Mongoid/activesupport版本问题

Ruby Mongoid/activesupport版本问题,ruby,mongodb,mongoid,Ruby,Mongodb,Mongoid,我试图从普通Ruby脚本(不是通过Rails或任何其他框架)使用Mongoid,我想我遇到了一些版本依赖冲突: /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': RubyGem version error: activesupport(3.0.0 not >= 2.2.2, < 3.0.pre) (Gem::LoadError) from /opt/local/lib/r

我试图从普通Ruby脚本(不是通过Rails或任何其他框架)使用Mongoid,我想我遇到了一些版本依赖冲突:

/opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': RubyGem version error: activesupport(3.0.0 not >= 2.2.2, < 3.0.pre) (Gem::LoadError)
    from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:214:in `activate'
    from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:1082:in `gem'
    from /opt/local/lib/ruby/gems/1.8/gems/mongoid-1.9.1/lib/mongoid.rb:24
    from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
    from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
    from ./rubymongo.rb:4
为什么bson 1.0.4已经加载?是否有其他东西试图显式加载它?现在,我的simple.rb脚本只需要rubygems和mongoid

以下是我使用的所有与声音相关的宝石:

actionpack (3.0.0, 2.3.8)
activemodel (3.0.0)
activerecord (3.0.0)
activeresource (3.0.0)
activesupport (3.0.0)
bson (1.0.7, 1.0.4)
bson_ext (1.0.7)
mongo (1.0.8, 1.0.7)
mongo_ext (0.19.3)
mongoid (2.0.0.beta.17)
rails (3.0.0, 2.3.8)

确实存在宝石版本冲突

目前有两个版本的mongoid可用: * *


这两者都应该与Rails 3配合使用。即使是更老一点的mongoid 1.9.1也依赖于
activesupport我想我遇到了同样的问题。这似乎是由依赖冲突引起的。Mongo1.0.8将引入bson 1.0.7,但mongoid依赖bson 1.0.4,这将导致冲突。我认为这一切都归结于mongoid beta版所具有的非常具体的依赖性

我成功地将这些宝石组合在一起:

activemodel (3.0.0)
activesupport (3.0.0)
rails (3.0.0)
mongo (1.0.7)
mongoid (2.0.0.beta.18)
bson (1.0.4)

这意味着我必须显式安装mongo 1.0.7和bson 1.0.4,并卸载最新版本(mongo 1.0.8和bson 1.0.7)。然后我可以运行一个简单的脚本。

我不认为1)是我的选择。我没有使用Rails,只是从shell运行的一个.rb文件。我尝试升级到mongoid 2.0.0,不得不升级到bson 1.0.7,现在我被告知“无法为[“mongoid-2.0.0.beta.17”]激活bson(=1.0.4,运行时),已经为[“mongoid-1.0.7”,“mongoid-2.0.0.beta.17”]激活了bson-1.0.7。”。为什么不在这里使用正确的版本还不够聪明?使用1.0.4还有其他东西吗?真是个好问题!我遇到了类似的情况。我只是想和Rails分开做一些基准测试。Steve Hook的建议很有效。不幸的是Rake(0.8.7)依赖于bson(1.0.7)。我也遇到了同样的问题,只是版本号更新了。
actionpack (3.0.0, 2.3.8)
activemodel (3.0.0)
activerecord (3.0.0)
activeresource (3.0.0)
activesupport (3.0.0)
bson (1.0.7, 1.0.4)
bson_ext (1.0.7)
mongo (1.0.8, 1.0.7)
mongo_ext (0.19.3)
mongoid (2.0.0.beta.17)
rails (3.0.0, 2.3.8)
gem "rails", 3.0.0"

$ bundle update
$ bundle install
activemodel (3.0.0)
activesupport (3.0.0)
rails (3.0.0)
mongo (1.0.7)
mongoid (2.0.0.beta.18)
bson (1.0.4)