JRuby中/ Windows和(原生)扩展我该如何区分呢?
题
我试图使用EventMachine的等,具有JRuby的。我得到原生扩展的错误。我认为,这是由于Java的限制。我认为我是在Windows上,其实这个问题进一步复杂化。一些澄清,将不胜感激。什么扩展可以/不能使用JRuby使用?我如何知道?感谢。
解决方案
没有在JRuby中使用本机扩展非常简单的方法。原生扩展呼吁C代码不能在JRuby中被称为没有在java中实现它。除了那几个扩展所看到的jruby端口,用于你提到例如EventMachine的。
和据我知道,看看你是否可以使用宝石的唯一途径/扩展使用JRuby是阅读的文档,请尝试,或阅读源
其他提示
JRuby中不支持原生扩展,不幸的是,因为它们依赖于特定的C实现特定的内存和运行时的详细信息。点击 通常你可以找到在JVM上的等价库将作为替补很好地工作...
要完成 LDomagala的答案,你也可以参考的此线程 相关到相同的 “本机扩展” 的问题。
有些安装脚本可以依靠RUBY_PLATFORM
以确定是否建立根据您的操作系统的本机扩展。如果您使用的是Windows将不建立他们。
的另一种方法,以避免本地编译使用ENV变种“NORUBYEXT
”。
但仍可能涉及红宝石安装脚本一些调整...
不隶属于 StackOverflow