已安装jruby lint gem,但没有可用的jruby lint?

已安装jruby lint gem,但没有可用的jruby lint?,jruby,Jruby,我最近开始使用Joe Kutner的书“使用JRuby部署”来探索JRuby,但在尝试安装JRuby lintgem时遇到了一个问题。下面是我尝试的结果,包括Java、JRuby和我的操作系统的版本号 我不理解输出,尤其是为什么nokogiri不作为jruby lint依赖项安装,而是自己安装ok。虽然jruby lint gem现在被报告为已正确安装,但它还没有提供要使用的jrlint可执行文件/脚本,我不知道从这里可以走到哪里。有什么想法吗 C:\Dev\repos\twitalytics&

我最近开始使用Joe Kutner的书“使用JRuby部署”来探索JRuby,但在尝试安装JRuby lintgem时遇到了一个问题。下面是我尝试的结果,包括Java、JRuby和我的操作系统的版本号

我不理解输出,尤其是为什么nokogiri不作为jruby lint依赖项安装,而是自己安装ok。虽然jruby lint gem现在被报告为已正确安装,但它还没有提供要使用的jrlint可执行文件/脚本,我不知道从这里可以走到哪里。有什么想法吗

C:\Dev\repos\twitalytics>jruby --version
jruby 1.7.3 (1.9.3p385) 2013-02-21 dac429b on Java HotSpot(TM) 64-Bit Server VM 1.7.0_21-b11 [Windows 7-amd64]

C:\Dev\repos\twitalytics>jruby -S gem install jruby-lint
Building native extensions.  This could take a while...
ERROR:  Error installing jruby-lint:
        ERROR: Failed to build gem native extension.

        C:/Dev/jruby-1.7.3/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.

   (root) at C:/Dev/jruby-1.7.3/lib/ruby/shared/mkmf.rb:8
  require at org/jruby/RubyKernel.java:1027
   (root) at C:/Dev/jruby-1.7.3/lib/ruby/shared/rubygems/custom_require.rb:1
   (root) at extconf.rb:5


Gem files will remain installed in C:/Users/Owen/.gem/jruby/1.8/gems/nokogiri-1.6.0.rc1 for inspection.
Results logged to C:/Users/Owen/.gem/jruby/1.8/gems/nokogiri-1.6.0.rc1/ext/nokogiri/gem_make.out

C:\Dev\repos\twitalytics>set JRUBY_OPTS=--1.8
C:\Dev\jruby-1.7.3>jruby --version
jruby 1.7.3 (ruby-1.8.7p370) 2013-02-21 dac429b on Java HotSpot(TM) 64-Bit Server VM 1.7.0_21-b11 [Windows 7-amd64]

C:\Dev\repos\twitalytics>jruby -S gem install jruby-lint
ERROR:  Error installing jruby-lint:
        nokogiri requires Ruby version >= 1.9.2.

C:\Dev\repos\twitalytics>jruby -S gem install nokogiri
Fetching: nokogiri-1.5.9-java.gem (100%)
Successfully installed nokogiri-1.5.9-java
1 gem installed

C:\Dev\repos\twitalytics>jruby -S gem install jruby-lint
Fetching: jruby-lint-0.4.1.gem (100%)
Successfully installed jruby-lint-0.4.1
1 gem installed

C:\Dev\repos\twitalytics>jrlint
'jrlint' is not recognized as an internal or external command,
operable program or batch file.

有趣的是,它试图安装Nokogiri的Ruby(而不是JRuby)版本,因为它试图安装C扩展


我认为,如果您安装jruby lint所需的相同版本,即nokogiri-1.6.0.rc1,问题将得到解决。

我在阅读本书时也遇到了类似的问题。更新Rubygems帮我解决了这个问题。或许可以尝试:

jruby -S gem update --system

这两种解决方案在Windows上都不适用于我。jruby-sgem安装nokogiri 安装nokogiri-1.6.0-java 如果我从下载gem并自己构建它,它会将jruby\lib\ruby\gems\shared\gems\jruby-lint-0.4.1中的gem文件夹保留为空
并且它不会生成一个bat文件来在/bin目录中运行它。我认为这颗宝石不适合windows。可能是我想在BitNami堆栈上安装它吗?我还没有在定期安装JRuby时尝试过它。

如果更新Rubygems不起作用,请尝试:

gem安装nokogiri

这将安装nokogiri-1.6.0-java

然后再说一遍:

gem安装jruby lint

你可以走了