【问题标题】:jruby-complete not running rake or other downloaded gemsjruby-complete 没有运行 rake 或其他下载的 gem
【发布时间】:2015-07-28 02:11:55
【问题描述】:

按照以下网址获取指南:

http://spin.atomicobject.com/2010/02/01/running-a-ruby-application-with-jruby-complete/

我下载了 jruby-complete 并且能够运行一个或两个基本的简单命令。但是,我想运行 Rake。当我发出java -jar jruby-complete.jar -S rake -T 时,我在 Windows 机器上遇到了这些错误。

λ run_jruby.bat -S rake -T
io/console not supported; tty will not be manipulated
LoadError: no such file to load -- file:C:/Users/user01/Desktop/jruby_ant_tasks/jruby-complete-1.7.21.jar!/META-INF/jruby.home/lib/ruby/gems/shared/specifications/gems/rake-10.1.0/bin/rake
    load at org/jruby/RubyKernel.java:1059
  (root) at /C:/Users/user01/Desktop/jruby_ant_tasks/jruby-complete-1.7.21.jar!/META-INF/jruby.home/bin/rake:23

那么请关注此 URL 以获得更多指导:

http://spin.atomicobject.com/2013/04/24/bundler-jruby-complete/

我创建了一个vendor\gem_home 目录。然后使用以下命令安装 bundler 和 rake:

λ run_jruby.bat -S gem install -i vendor\gem_home\ --no-rdoc --no-ri bundler rake
io/console not supported; tty will not be manipulated
Fetching: bundler-1.10.5.gem (100%)
Successfully installed bundler-1.10.5
Fetching: rake-10.4.2.gem (100%)
Successfully installed rake-10.4.2
2 gems installed

但是,当我做一个 gem 列表时,Bundler 没有列出

λ run_jruby.bat -S gem list --local
io/console not supported; tty will not be manipulated

*** LOCAL GEMS ***

jar-dependencies (0.1.15)
jruby-openssl (0.9.7 java)
json (1.8.0 java)
rake (10.1.0)
rdoc (4.1.2)

然后我再次运行 rake 命令,并得到与上述相同的错误。当我运行 bundle 命令时,我收到以下错误:

λ run_jruby.bat -S bundle gem new_gem
ArgumentProcessor.java:565:in `resolveScript': java.lang.NullPointerException
        from ArgumentProcessor.java:523:in `runBinScript'
        from ArgumentProcessor.java:277:in `processArgument'
        from ArgumentProcessor.java:100:in `processArguments'
        from ArgumentProcessor.java:95:in `processArguments'
        from RubyInstanceConfig.java:196:in `processArguments'
        from Main.java:216:in `run'
        from Main.java:197:in `main'

这里是关于我的系统的更多信息。我的 Java 版本是:

λ java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

我的 JRuby 版本是:

λ run_jruby.bat -v
jruby 1.7.21 (1.9.3p551) 2015-07-07 a741a82 on Java HotSpot(TM) 64-Bit Server VM 1.7.0_71-b14 +jit [Windows 7-amd64]

我的run_jruby.bat 文件包含:

λ cat run_jruby.bat
@echo off

SET JAVA_COMMAND="java"
SET JAVA_OPTIONS="-jar"
SET JRUBY_BIN="jruby-complete-1.7.21.jar"
SET GEM_HOME="vendor\gem_home"
SET GEM_PATH="vendor\gem_home"

%JAVA_COMMAND% %JAVA_OPTIONS% %JRUBY_BIN% %*

我不确定我还需要做什么,因为 Wiki 没有过多地介绍这部分内容。

--2015-07-13 编辑--
刚刚在 RHEL 5.8 和 IBM Java 1.6 中尝试了相同的设置,并且 Rake 命令工作得很好,所以这似乎是 Windows 特定的问题。

【问题讨论】:

标签: java ruby windows jruby


【解决方案1】:

这似乎是 JRuby 在 1.7.21 构建时的一个错误。

https://github.com/jruby/jruby/issues/3133

JRuby 二进制文件没有检查未初始化的环境 PATH 变量。该问题在 JRuby 的 1.7.22 中得到修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 2011-09-06
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    相关资源
    最近更新 更多