如何在jRuby中启用C扩展支持?
我想安装gem,但出现以下错误:如何在jRuby中启用C扩展支持?,ruby,configuration,rubygems,jruby,Ruby,Configuration,Rubygems,Jruby,我想安装gem,但出现以下错误: Building native extensions. This could take a while... ERROR: Error installing twitter-login: ERROR: Failed to build gem native extension. C:/nwcloud/jruby-1.7.2/bin/jruby.exe extconf.rb NotImplementedError: C exte
Building native extensions. This could take a while...
ERROR: Error installing twitter-login:
ERROR: Failed to build gem native extension.
C:/nwcloud/jruby-1.7.2/bin/jruby.exe extconf.rb
NotImplementedError: C extension support is not enabled. Pass -Xcext.enabled=true to JRuby or set JRUBY_OPTS or modify .jrubyrc to enable.
我阅读时也遇到了同样的问题,但我甚至不知道如何使用这三个选项启用支持,因为我不知道如何将-xtext.enabled=true
传递给JRuby,或者将JRuby\u OPTS或modify.jrubyrc设置为enable
有人能帮我解决初学者的问题吗?请确保您使用的是最新的openjdk(在撰写本文时为7 update 21)和最新的JRuby(1.7.4) 在用户主文件夹中创建一个名为.jrubyrc的文件 添加以下内容
cext.enabled=true
完成。Rodrigo建议的jrubyrc编辑对我不起作用(jdk 7u25/JRuby 1.7.4),但导出JRuby_选项确实起到了作用:
export JRUBY_OPTS="--1.9 -Xcext.enabled=true"
试着回顾一下:对不起……但我不明白我如何才能适应我的问题。我的项目文件夹中没有.rvmrc?它的目的是让您了解这里提供的所有解决方案的字里行间。例如,这个示例:
export JRUBY_OPTS=“--1.9-J-XX:+cmsclasssUnloadingEnabled-J-XX:+useConMarkSweepGC-J-XX:MaxPermSize=256m-J-Xmx1024m”
,告诉您JRUBY_OPTS是一个环境
变量,设置其内容的一种方法如下。并非所有的解决方案都采用方便的复制/粘贴格式。我添加了一个新的系统环境变量,如下所示:variable:JRUBY_OPTS value:--1.9-xtext.enabled=true。。但它不起作用。我必须创建这样一个.rvmrc文件吗?应该注意的是,C扩展支持正在考虑在windows中的JRuby的未来版本中被消除。使用:set JRuby_OPTS=“--1.9-xtext.enabled=true”我们可以将其设置为特定于项目的设置而不是特定于机器的设置吗?