Je tente d'utiliser MongoId d'un script Ruby simple (et non via Rails ou tout autre cadre) et je pense que je suis en cours d'exécution dans certains conflits de dépendance version:MongoId/problème version activesupport
/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
Mon Rails local a été mis à jour 3.0.0 déjà, et si j'ai lu l'erreur correctement, quelque part il y a une exigence disant que le support actif doit être < 3.0.pre, et 3.0.0 est trop nouveau?
Est-ce parce que Rails 3.0 est tout neuf et peut-être que Mongoid a une option de configuration quelque part avec 3.0.pre défini que je dois mettre à niveau? Où ferais-je cela?
Je l'habitude d'avoir les anciens rails encore installés aussi, mais nous avons eu une autre erreur:
/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
Si je retourne à avoir un installé activesupport plus, comment puis-je faire que le plus récent est pas être frappé aussi bien?
Je suis encore très jeune à Ruby, alors s'il vous plaît élaborer dans votre réponse.
Après mise à niveau vers la suggestion de bêta par Simon MongoId 2.0, je reçois un nouveau conflit au sujet BSON trop nouveau:
/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
Pourquoi BSON 1.0.4 déjà chargé? Est-ce que quelque chose d'autre essaie de le charger explicitement? Tout mon script simple .rb nécessite des rubygems et mongoid à ce stade.
Ici ce sont toutes les gemmes que j'utilise que son correspondant:
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)
Vraiment bonne question! J'ai rencontré une situation similaire. Je voulais simplement faire un benchmarking séparément de Rails. La suggestion de Steve Hook a bien fonctionné. – randomguy