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