Не могу установить jruby в Ubuntu с помощью rvm - PullRequest
2 голосов
/ 21 февраля 2012

Я не могу установить jruby в Ubuntu 11.10 с помощью rvm.

jatin@silverSpoon:~$ 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.

Другая полезная информация:

jatin@silverSpoon:~$ which ant
/usr/bin/ant

Содержимое сгенерированного файла журнала:

jatin@silverSpoon:~$ 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 установлена ​​на моей машине:

jatin@silverSpoon:~$ 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: 

Что здесь не так?

EDIT:
При попытке ответить я получаю это

jatin@silverSpoon:~/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.
Смотрите мой ответ ниже.

Ответы [ 2 ]

4 голосов
/ 21 февраля 2012

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. надеюсь, это поможет.

окончательное редактирование: rvm notes, rvm requirements и посмотрите, что вы что-то упустили. У меня больше нет идей, если вы все еще не можете установить jruby (хотя вы можете попробовать переустановить rvm).

3 голосов
/ 21 февраля 2012

Я наконец заработал, установив необходимые зависимости для jruby.
При запуске rvm requirements он показывает требования для jruby и jruby-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

Я былпропустил curl, и я использовал sun-java, а не openjdk.
При установке соответствующего java и установке curl я мог установить jruby без каких-либо хлопот.

Это также показывает, почему я мог установить jruby-head , но не jruby .Спасибо @Tyler Long за помощь.

...