2


0

MongoIdとbson_extの問題:ロードするファイルがありません-bson_ext

'bson_ext’についても同様の質問がありますが、私にはうまくいきません。

Rails 2.3.8 + MongoId 1.9.1を使用しています。 「http://mongoid.org/docs/installation/[installation]」ページを次のようにフォローしました。

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

config / environment.rbに次を追加しました:

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

「ruby script / server」でアプリケーションを起動すると、次のように表示されます。

=> 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.

しかし、私は `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)

また、1.0と1.0.1を使用しようとしましたが、同じ例外がスローされます。

どうしましたか?

2 Answer


2


config.gem行を次のように変更してみてください。

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

これにより、レールが「bson_ext」を要求しようとするのを防ぎますが、これは機能しません。 bson gemは実際には「bson_ext / cbson」を自動的に要求しようとし、ネイティブバージョンが見つからない場合は最終的にbson_rubyにフォールバックします。


0


すべてのbsonおよびmongo gemをアンインストールしてから、 `rake gems:install`を次のものだけで実行する必要がありました。

  config.gem "mongo_mapper"

私の `environment.rb`ファイルで。 MongoDB and MongoMapperのRailscastは、Rails 2.3.8アプリでMongoDBを使い始めるのに役立ちました。 それ以外は、bson_extエラーを生成します。