2011-11-30 2 views
0

와 함께 작동하지 않습니다.번들 내가 아주 간단한 Gemfile에 문제가 mongo_ext

irb(main):001:0> require 'rubygems' 
=> false 
irb(main):002:0> require 'mongo' 

**Notice: C extension not loaded. This is required for optimum MongoDB 
    Ruby driver performance. You can install the extension as follows: 
    gem install bson_ext 

    If you continue to receive this message after installing, make sure that the 
    bson_ext gem is in your load path and that the bson_ext and mongo gems are of 
    the same version. 

=> true 

하지만 시스템 IRB를 사용하는 경우 I는 부하입니다 : mongo_ext는 C 확장을 포함하기 때문에

$ irb 
irb(main):001:0> require 'rubygems' 
=> true 
irb(main):002:0> require 'mongo' 
=> true 
irb(main):003:0> 

어쩌면 그 행동이됩니다.

+1

'gem install bson_ext'를 제안 했습니까? –

+0

설치했습니다. 'irb '를 사용하면'mongo'가 필요할 때로드되지만'mongo exec ruil '을 사용하면로드되지 않습니다. –

답변

2

당신은 당신의 Gemfile에 bson 및 bson_ext을 추가해야합니다 : 일반적으로

source :rubygems 
gem 'mongo' 
gem 'mongo_ext' 
gem 'bson' 
gem 'bson_ext' 

그리고 말하기, 당신이 사용하고있는 보석의 버전을 지정하는 것이 좋습니다. 그렇게하면 보석이 변경 사항을 적용하거나 (또는 ​​새로운 영향을주는 버그를 추가하더라도) 코드가 작동하도록 할 수 있습니다. 프로젝트를 시작할 때 나오는 최신 버전을 지정하십시오. 단,주의해서 업그레이드하십시오. 예 :

source :rubygems 
gem 'mongo', '1.5.1' 
gem 'mongo_ext', '0.19.3' 
gem 'bson', '1.5.1' 
gem 'bson_ext', '1.5.1' 
관련 문제