Я пытаюсь использовать Mongoid из простого сценария Ruby (не через Rails или любую другую платформу) и думаю, что сталкиваюсь с некоторыми конфликтами зависимостей версий:
/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
В моем локальном Rails естьуже был обновлен до 3.0.0, и если я правильно прочитал ошибку, где-то есть требование, что activesupport должен быть <3.0.pre, а 3.0.0 слишком новый? </p>
Это потому, что Rails 3.0Совершенно новый и, возможно, Mongoid имеет параметр конфигурации где-то с 3.0.pre, что мне нужно обновить?Где бы я это сделал?
Раньше у меня тоже был установлен старый Rails, но я получил другую ошибку:
/opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:233:in `activate': can't activate activesupport (>= 2.2.2, < 3.0.pre, runtime) for [], already activated activesupport-3.0.0 for ["mongoid-1.9.1"] (Gem::LoadError)
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
Если я вернусь к установке более старой активной поддержки, каксделать так, чтобы новый также не попал?
Я все еще плохо знаком с Ruby, поэтому уточните свой ответ.
После обновления до бета-версии Mongoid 2.0по предложению Саймона, я получаю новый конфликт о том, что bson слишком новый:
/opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:233:in `activate': can't activate bson (= 1.0.4, runtime) for ["mongoid-2.0.0.beta.17"], already activated bson-1.0.7 for ["mongo-1.0.7", "mongoid-2.0.0.beta.17"] (Gem::LoadError)
from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:249:in `activate'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:248:in `each'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:248:in `activate'
from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:35:in `require'
from ./rubymongo.rb:4
Почему bson 1.0.4 уже загружен?Что-то еще пытается загрузить это явно?Все, что мне нужно в этом простом скрипте .rb - это рубины и монгоиды на этом этапе.
Вот все драгоценные камни, которые я использую для этого звука:
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)