2012-02-21 104 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的。感謝@泰勒龍爲所有的幫助。