Вопрос по ruby-on-rails – Не удалось собрать собственное расширение gem с помощью JRuby

2

Я изменяю версию ruby с ruby 1.9.3-p125 на JRuby 1.7.0-preview1 с помощью Рубиново-билд. Когда я выполнюjruby -S bundle install в моем проекте есть некоторые ошибки, как показано ниже,

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

Есть предложения? Благодарность

Ваш Ответ

2   ответа
3

JRUBY_OPTS="-Xcext.enabled=true" gem install <your gem> должно сработать!

0

просто прочитайте сообщение об ошибке и попробуйте так:jruby -Xcext.enabled=true -S bundle install хотя, вероятно, это не сработает - обычно расширения C не поддерживаются на JRuby.

Я сделал, но не работал. chiayi
вам нужно проверить ваши зависимости пакета, выяснить, почемуbson_ext драгоценный камень используется (gem 'bson' на JRuby должно быть достаточно одного) и отключить его или объявить его зависимым от платформы, напримерgem 'bson_ext', :platform => :ruby, но это все догадки, если бы вы показали нам свой Gemfile, мы могли бы решить эту проблему ...

Похожие вопросы