rvm install: ошибка установки ruby - PullRequest
9 голосов
/ 25 февраля 2012

Я хочу установить ruby ​​на свой Linux Mint 12.

Я следую этому учебнику и этому .

при запуске rvm install 1.9.3 я вижу эту ошибку:

Installing Ruby from source to: /usr/share/ruby-rvm/rubies/ruby-1.9.3, this may take a while depending on your cpu(s)...

ruby-1.9.3 - #fetching 
ruby-1.9.3 - #extracting ruby-1.9.3- to /usr/share/ruby-rvm/src/ruby-1.9.3
ERROR: Error running 'bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_4428', please read /usr/share/ruby-rvm/log/ruby-1.9.3/extract.log
ERROR: There has been an error while trying to extract the source.  
Halting the installation.
ERROR: There has been an error fetching the ruby interpreter. Halting the installation.

Как это исправить?

РЕДАКТИРОВАТЬ: @ ka8725

bunzip2 установлен. Когда я бегу cat /usr/share/ruby-rvm/log/ruby-1.9.3/extract.log

Понятно

[2012-02-25 01:11:55] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_32604
bunzip2: (stdin) is not a bzip2 file.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
[2012-02-25 01:12:16] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_32740
bunzip2: (stdin) is not a bzip2 file.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
[2012-02-25 01:13:50] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_383
bunzip2: (stdin) is not a bzip2 file.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
[2012-02-25 01:13:52] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_474
bunzip2: (stdin) is not a bzip2 file.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
[2012-02-25 01:13:58] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_568
bunzip2: (stdin) is not a bzip2 file.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
[2012-02-25 01:18:57] bunzip2 < '/usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2' | tar xf - -C /usr/share/ruby-rvm/tmp/rvm_src_4428
bunzip2: (stdin) is not a bzip2 file.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

ДРУГОЕ РЕДАКТИРОВАНИЕ @ EVERYONE:)

вот что происходит, ребята:

rvm requirements выходы unrecognized error etc. Однако rvm notes покажет мне необходимые вещи, которые я должен установить. НО когда я установлю эти вещи, rvm будет удален и поэтому я должен переустановить LOL! :) один, два, десять раз, навсегда :) вот что будет

это те пакеты, которые мне нужны

 sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev

Ответы [ 9 ]

14 голосов
/ 25 февраля 2012

Удалите и переустановите rvm с

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

Для потомков я добавлю, что часть ошибки, которая гласит

Installing Ruby from source to: /usr/share/...

, заставила меня задуматься онеправильная установка rvm, который, как я уже сказал, обычно целиком содержится в каталоге ~/.rvm.

7 голосов
/ 01 августа 2012

Я решил свою проблему, просто выполнив:

rvm get head rvm reload и rvm install 1.9.3

6 голосов
/ 06 декабря 2012

Выполнение обновления rvm, как предложено в одном из комментариев, дало мне несколько хороших ошибок в том, как решить проблему.Я удалил apt-get ruby-rvm, как предложено в сообщениях об ошибках, и установил с помощью curl.Работал как шарм.Глядя на имя файла, захватывает apt-get версия rvm, похоже, что последняя часть версии по какой-то причине отсутствует.Вместо ruby-1.9.3-.tar.bz2 это должен быть ruby-1.9.3-p327.tar.bz2 или что-то в этом роде.

Вот что я сделал и что было предложено из-за ошибокпосле обновления rvm:

  sudo apt-get --purge remove ruby-rvm
  sudo rm -rf /usr/share/ruby-rvm /etc/rvmrc /etc/profile.d/rvm.sh

  open new terminal and validate environment is clean from old rvm settings:

  env | GREP_OPTIONS= \grep rvm

install RVM:

  curl -L https://get.rvm.io | bash -s stable

fix some more screwed up stuff from apt-get ruby-gem

   make ~/.bash_profile look like this(it loads rvm as a function in bash):

      [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

update RVM:

  rvm update
  rvm reload

install ruby

  rvm install 1.9.3
  rvm use 1.9.3 --default

install current rubygems

  rvm rubygems current

install rails

  gem install rails

Готово!

2 голосов
/ 25 февраля 2012

Проблема решена, вот как на случай, если вы хотите знать:

Как сказал s.m. , я удалил все, затем открыл другой сеанс терминала как обычный пользователь и запустил:

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

тогда я запускаю source /home/my-desktop-username/.rvm/scripts/rvm как обычный пользователь НЕ ROOT

затем я запускаю rvm requirements как обычный пользователь. Затем я копирую требования и закрываю сеанс, открываю сеанс root и устанавливаю требования, используя sudo

Затем я закрываю сеанс и открываю обычный пользовательский сеанс и запускаю rvm install ruby-1.9.3-p125, если вы запустите эту команду как root , он скажет, что rvm не установлен и предложит установить его с помощью sudo apt-get install rvm Не делайте этого!

Так что в основном у меня было две проблемы, учебники, которые я изучал, не говорили, что я должен запускать

source /home/my-desktop-username/.rvm/scripts/rvm и не сказал, что я не должен запускать rvm, поскольку root , s.m сказал мне это. Спасибо всем, особенно с.м

Не доверяйте блоггерам, пользователям Youtube или форумам. ТОЛЬКО ПОЛЬЗОВАТЕЛЯМ, ЧТОБЫ ДОВЕРЯТЬ STACKOVERFOW!

1 голос
/ 12 мая 2019

Для Ubuntu 18.10 у меня была такая же ошибка после установки через APT.Установка rvm 2.5.1 завершилась с той же ошибкой, что и ссылка.После выполнения инструкций для Ubuntu на github и перезапуска моего VPS, ruby ​​v 2.6.3, установленного с помощью команды 'rvm install ruby' Когда я работал на vps, мне сначала нужно было запустить source /etc/profile.d/rvm.sh.

Github RVM Repo для Ubuntu

1 голос
/ 03 апреля 2014

Если вы cat /usr/share/ruby-rvm/archives/ruby-1.9.3-.tar.bz2 вы увидите

<html> <head><title>404 Not Found</title></head> <body bgcolor="white"> <center><h1>404 Not Found</h1></center> <hr><center>nginx/1.2.1</center> </body>

Итак, rvm не знает, где найти ruby-1.9.3 (кажется, что путь искажен)3-.tar ')

И, 1.9.1 "совместимость" с 1.9.3 - это (не так уж и смешно) шутка в Ubuntu.

Исправление для меня было:

rvm package install openssl

rvm install ruby-1.9.2 --with-openssl-dir=/usr/share/ruby-rvm/usr

Поскольку произошедшее 1.9.2 совпало со всеми моими зависимостями драгоценных камней (например, nokogiri)

1 голос
/ 28 апреля 2012

У меня была такая же проблема с bunzip2.

Хвост ~ / .rvm / log / ruby-1.9.3-p125 / extract.log сказал:

bunzip2: (stdin) is not a bzip2 file.
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

Оказывается, загруженный файл был домашней страницей HTML сайта rvm, а не самим архивом.

Так что, как и я, все предыдущие решения не сработали. Проверьте тип файла вашего архива:

$ file ruby-1.9.3-p125.tar.bz2
ruby-1.9.3-p125.tar.bz2: HTML document, UTF-8 Unicode text, with very long lines

Если вы получили что-то подобное, просто удалите архив и попробуйте установить его снова.

1 голос
/ 25 февраля 2012

пробовали ли вы этот ответ Установлен Ruby 1.9.3 с RVM, но в командной строке не отображается ruby ​​-v ?

если вы используете "apt-get broken rvm", убедитесь, что вы следуете приведенному выше ответу.

0 голосов
/ 25 февраля 2012

cat /usr/share/ruby-rvm/log/ruby-1.9.3/extract.log

Мне кажется, вы не установили bunzip2.Вы должны установить его

...