我将ruby版本从ruby 1.9.3-p125更改为JRuby 1.7.0-preview1与ruby-build。当我在我的项目执行jruby -S bundle install
,存在一些误区如下,无法使用JRuby构建gem原生扩展
...
Using bson (1.6.2)
Installing bson_ext (1.6.2) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/joshchang/.rbenv/versions/jruby-1.7.0-preview1/bin/jruby extconf.rb
NotImplementedError: C extension support is not enabled. Pass -Xcext.enabled=true to JRuby or set JRUBY_OPTS or modify .jrubyrc to enable.
(root) at /Users/joshchang/.rbenv/versions/jruby-1.7.0-preview1/lib/ruby/shared/mkmf.rb:8
require at org/jruby/RubyKernel.java:991
(root) at /Users/joshchang/.rbenv/versions/jruby-1.7.0-preview1/lib/ruby/shared/rubygems/custom_require.rb:1
(root) at extconf.rb:1
...
有什么建议吗?谢谢。
我做了,但没有工作。 – chiayi
你确实需要检查你的bundle依赖关系,找出为什么使用** bson_ext ** gem(''gem'bson''应该可以在JRuby上正常工作)并禁用它或声明它是平台依赖的,例如, 'gem'bson_ext',:platform =>:ruby'。但是,如果你向我们展示了你的Gemfile,我们可以解决这个问题,这都是猜测。 – kares