JRuby / Windows и (собственные) расширения, как их отличить?

Я пробовал использовать EventMachine и т. Д. С JRuby. Я получаю ошибки по поводу собственных расширений. Я считаю, что это связано с ограничениями Java. Я думаю, что тот факт, что я использую Windows, еще больше усложняет проблему. Были бы признательны за некоторые пояснения. Какие расширения можно / нельзя использовать с JRuby? Как я могу сказать? Спасибо.


person sfish    schedule 08.02.2009    source источник


Ответы (2)


нет действительно простого способа использовать собственные расширения в jruby. собственные расширения вызывают код c, который нельзя вызвать в jruby, не реализовав его в java. Помимо этого, несколько расширений видят порты jruby, например EventMachine, о котором вы упомянули.

и насколько я знаю, единственный способ узнать, можете ли вы использовать драгоценный камень / расширение с jruby, - это прочитать документы, попробовать или прочитать источник

person LDomagala    schedule 08.02.2009

JRuby, к сожалению, не поддерживает собственные расширения, потому что они зависят от конкретной памяти и деталей времени выполнения, специфичных для реализации C.
Обычно вы можете найти эквивалентную библиотеку на JVM, которая будет хорошо работать в качестве замены ...

Чтобы заполнить ответ LDomagala, вы также можете обратиться к эта ветка, относящаяся к той же проблеме с" собственным расширением "

Некоторые сценарии установки могут полагаться на RUBY_PLATFORM, чтобы определить, создавать ли собственные расширения в зависимости от вашей ОС. Если вы используете окна, он их не построит.

Другой способ избежать нативной компиляции - использовать ENV var 'NORUBYEXT'.

Но это все еще может потребовать некоторой настройки в скрипте установки ruby ​​...

person VonC    schedule 08.02.2009