jruby-lint gem安装但没有jrlint可用?

时间:2013-05-03 14:58:30

标签: jruby

我最近开始使用Joe Kutner的书“使用JRuby部署”来探索JRuby,但在尝试安装 jruby-lint gem时遇到了问题。下面是我尝试的输出,包括Java,JRuby和我的操作系统的版本号。

我不明白输出,特别是为什么nokogiri不能作为jruby-lint依赖安装,但是它会自行安装。虽然现在报告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.

4 个答案:

答案 0 :(得分:1)

我在处理这本书时遇到了一个非常类似的问题。更新Rubygems为我解决了它。也许试试:

jruby -S gem update --system

答案 1 :(得分:0)

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

我认为如果安装jruby-lint所需的相同版本nokogiri-1.6.0.rc1,问题就会解决。

答案 2 :(得分:0)

这两种解决方案都不适用于Windows。 jruby -S gem安装nokogiri 安装nokogiri-1.6.0-java 如果我从https://github.com/jruby/jruby-lint下载gem并自己构建它,它会在jruby \ lib \ ruby​​ \ gems \ shared \ gems \ jruby-lint-0.4.1中将gem文件夹留空 并且它不会在/ bin目录中创建一个bat文件来运行它。我不认为这个宝石已准备好用于Windows。难道我正试图在BitNami堆栈上安装它吗?我没有经常安装JRuby。

答案 3 :(得分:0)

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

gem install nokogiri

这将安装nokogiri-1.6.0-java

然后再次:

gem install jruby-lint

你很高兴。