【发布时间】:2012-08-02 19:01:57
【问题描述】:
有人在使用 jRuby 时遇到同样的错误吗?当我尝试使用 C 扩展安装 gem 时,出现下一个错误:
gem install serialport 构建原生扩展。这可能需要一个 同时... 错误:安装串行端口时出错:错误:构建失败 gem 原生扩展。
/home/username/.rvm/rubies/jruby-head/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.(根)在 /home/username/.rvm/rubies/jruby-head/lib/ruby/shared/mkmf.rb:8
需要在 org/jruby/RubyKernel.java:1021 (root) 处 /home/username/.rvm/rubies/jruby-head/lib/ruby/shared/rubygems/custom_require.rb:1 (根)在 extconf.rb:1
错误解释中声明的任何参数都不会成功...
安装的 jruby 版本信息: jruby 1.7.0.preview2.dev (1.9.3p203) 2012-08-05 22cd6f9 on Java HotSpot(TM) Server VM 1.7.0_05-b05 [linux-i386]
平台:Linux
宝石:串口
【问题讨论】:
-
它说:“将 -Xcext.enabled=true 传递给 JRuby 或设置 JRUBY_OPTS 或修改 .jrubyrc 以启用”。你这样做了吗?
-
你都试过了吗?
-
你能写一个安装“serialport” gem的例子吗?
-
对 JRuby 的 C 扩展支持存在缺陷且已弃用。你不可能通过 C 扩展得到你想要的东西。最好的选择是找到一个可以满足您需求的 Java 库。