JRuby / Windows и (собственные) расширения, как мне их отличить?
Вопрос
Я пытался использовать EventMachine и т.д., с JRuby.Я получаю ошибки о собственных расширениях.Я полагаю, что это связано с ограничениями Java.Я думаю, тот факт, что я нахожусь в Windows, еще больше усложняет проблему.Хотелось бы получить некоторые разъяснения.Какие расширения могут / не могут использоваться с JRuby?Как я могу это определить?Спасибо.
Решение
в jruby нет действительно простого способа использовать собственные расширения.собственные расширения вызывают c-код, который нельзя вызвать в jruby без реализации его в java.помимо этого, несколько расширений видят порты jruby, например EventMachine, о котором вы упомянули.
и, насколько я знаю, единственный способ узнать, можете ли вы использовать gem / расширение с jruby, - это прочитать документы, попробовать это или прочитать исходный код
Другие советы
К сожалению, JRuby не поддерживает собственные расширения, поскольку они зависят от специфики памяти и условий выполнения, специфичных для реализации C.
Обычно вы можете найти эквивалентную библиотеку в JVM, которая будет хорошо работать в качестве замены...
Для завершения Ответ ЛДомагалы, вы также можете обратиться к этот поток связано с той же проблемой "собственного расширения"
Некоторые сценарии установки могут полагаться на RUBY_PLATFORM
чтобы определить, следует ли создавать собственные расширения в зависимости от вашей операционной системы.Если вы используете Windows, он не будет их создавать.
Другой способ избежать собственной компиляции - это использовать ENV var 'NORUBYEXT
'.
Но это все еще может потребовать некоторой настройки в сценарии установки ruby...