2012-02-21 71 views
2

我无法使用rvm在ubuntu 11.10上安装jruby。无法使用rvm在ubuntu上安装jruby

[email protected]:~$ rvm install jruby 
jruby-1.6.4 - #fetching 
jruby-1.6.4 - #extracting jruby-bin-1.6.4 to /home/jatin/.rvm/src/jruby-1.6.4 
ERROR: Error running 'tar xzf "/home/jatin/.rvm/archives/jruby-bin-1.6.4.tar.gz" -C /home/jatin/.rvm/tmp/rvm_src_4913 --no-same-owner', please read /home/jatin/.rvm/log/jruby-1.6.4/extract.log 
ERROR: There has been an error while trying to extract the source. 
Halting the installation. 
ERROR: There has been an error while trying to fetch the source. 
Halting the installation. 

其他有用的信息:

[email protected]:~$ which ant 
/usr/bin/ant 

生成的日志文件的内容是:

[email protected]:~$ cat ~/.rvm/log/jruby-1.6.4/extract.log 
[2012-02-22 00:47:37] tar xzf "/home/jatin/.rvm/archives/jruby-bin-1.6.4.tar.gz" -C /home/jatin/.rvm/tmp/rvm_src_4913 --no-same-owner 

gzip: stdin: not in gzip format 
tar: Child returned status 1 
tar: Error is not recoverable: exiting now 

的Java安装在我的机器上是:

[email protected]:~$ update-alternatives --config java 
There are 3 choices for the alternative java (providing /usr/bin/java). 

    Selection Path           Priority Status 
------------------------------------------------------------ 
    0   /usr/lib/jvm/java-6-openjdk/jre/bin/java  1061  auto mode 
    1   /usr/lib/jvm/java-6-openjdk/jre/bin/java  1061  manual mode 
    2   /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051  manual mode 
* 3   /usr/lib/jvm/jdk1.7.0/jre/bin/java    3   manual mode 

Press enter to keep the current choice[*], or type selection number: 

是什么这里错了吗?

编辑:
在试图回答,我得到这个

[email protected]:~/android/eclipse$ rvm remove jruby 
it seems that /home/jatin/.rvm/src/jruby-1.6.4 is already non existent. 
it seems that /home/jatin/.rvm/rubies/jruby-1.6.4 is already non existent. 
Removing jruby-1.6.4 aliases... 
Removing jruby-1.6.4 wrappers... 
Removing jruby-1.6.4 environments... 
Removing jruby-1.6.4 binaries... 

rvm install jruby,我得到了同样的错误。

P.S
我能够安装jruby-head没有任何错误,但没有任何其他jruby版本。

编辑2:
我终于得到了它的工作,通过安装必要的依赖JRuby的。
请参阅下面的答案。

回答

4

gzip: stdin: not in gzip format似乎下载的文件无效。

我建议你删除并重新安装它:

rvm remove jruby 
rvm cleanup all 
rvm install jruby 

rvm cleanup all意味着清洁家居下载并缓存。

我不明白的一件事:当我尝试rvm install jruby时,安装了jruby-1.6.6,但在您的情况下是jruby-1.6.4。
也许这是因为你没有最新版本的rvm。更新rvm并重试。

rvm requirements看看你是否忘记安装东西。 jruby 1.6需要open-jre-6,而不是sun-jdk。希望这可以帮助。

final edit:rvm notesrvm requirements看看你是否遗漏了一些东西。如果你仍然无法安装jruby,我没有更多的想法(尽管你可以尝试重新安装rvm)。

+0

'rvm cleanup all'会删除我所有的gemsets和宝石安装??? – 2012-02-21 10:08:26

+0

试过。没有工作:( – 2012-02-21 10:20:12

+0

是的,我在RVM网站上进行了双重检查,但是我仍然得到相同的错误,奇怪的部分是我可以安装jruby-head,但没有其他版本 – 2012-02-21 10:25:26

3

我终于得到它的工作,通过安装jruby的必要的依赖关系。
在运行rvm requirements时,它显示了对jrubyjruby-head的要求。

# For JRuby, install the following: 
    jruby: /usr/bin/apt-get install curl g++ openjdk-6-jre-headless 
    jruby-head: /usr/bin/apt-get install ant openjdk-6-jdk 

我失踪卷曲,我用sun-java而不是openjdk
在设置合适的java并安装卷曲时,我可以毫无麻烦地安装jruby

这也说明了为什么我可以安装JRuby的头但不JRuby的。感谢@泰勒龙为所有的帮助。