2010-07-15 5 views
2

Il y a une question similaire à propos de 'bson_ext', mais ça ne marche pas pour moi.Problème MongoId et bson_ext: aucun fichier à charger - bson_ext

MongoMapper and bson_ext problem

J'utilise Rails 2.3.8 + MongoId 1.9.1. Je suivais le "installation" page:

gem install mongoid 
gem install mongo -v=1.0.4 
gem install bson_ext -v=1.0.4 

Dans ma config/environment.rb, j'ai ajouté:

config.gem 'mongoid' 
config.gem 'mongo', :version=>'1.0.4' 
config.gem 'bson_ext', :verstion=>'1.0.4' 

Lorsque je démarre l'application avec ruby script/server, il montre:

=> Booting WEBrick 
=> Rails 2.3.8 application starting on http://0.0.0.0:3000 
no such file to load -- bson_ext 
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:156:in `require' 
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:521:in `new_constants_in' 
... 
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
script/server:3 
Missing these required gems: 
    bson_ext = 1.0.4 

You're running: 
    ruby 1.8.7.299 at /usr/local/bin/ruby 
    rubygems 1.3.7 at /root/.gem/ruby/1.8, /usr/local/lib/ruby/gems/1.8 

Run `rake gems:install` to install the missing gems. 

Mais j'ai installé bson_ext 1.0.4:

gem list 

bson (1.0.4, 1.0.3, 1.0.1, 1.0) 
bson_ext (1.0.4, 1.0.1, 1.0) 
mongo (1.0.4, 1.0.1, 1.0) 
mongoid (1.9.1) 
mongo_ext (0.19.3) 

Et, j'ai essayé d'utiliser 1.0 et 1.0.1, mais les mêmes exceptions sont levées.

Qu'est-ce qui ne va pas?

Répondre

2

Essayez de changer votre ligne config.gem à:

config.gem 'bson_ext', :version=>'1.0.4', :lib => false 

Cela empêche les rails d'essayer d'exiger "bson_ext", qui ne fonctionne pas. La gem bson essaye en fait d'exiger "bson_ext/cbson" automatiquement, et finit par revenir à bson_ruby si elle ne trouve pas de version native.

0

je dû désinstaller toutes les pierres précieuses BSON et mongo, puis exécutez rake gems:install avec seulement:

config.gem "mongo_mapper" 

dans mon dossier environment.rb. Les Railscasts pour MongoDB and MongoMapper m'ont aidé à commencer à utiliser MongoDB avec mon application Rails 2.3.8. Tout le reste génèrerait l'erreur bson_ext.

+0

Donc vous courez sans la bson_ext lib? –

+0

Oui, c'est correct. Je vais essayer une nouvelle installation avec seulement "config.gem 'mongoid'" sur mon prochain exemple pour le confirmer. – rxgx

Questions connexes