Как обновить Ruby на Fedora - PullRequest
       3

Как обновить Ruby на Fedora

0 голосов
/ 29 декабря 2011

Я пытаюсь обновить Ruby до 1.8.7 на Fedora 13 (да, я знаю, что он старый), используя rvm . Я немного новичок в мире Ruby, но это то, что я сделал до сих пор:

~$ yum -y install rubygem-rvm
...
~$ rvm-install
...
~$ rvm install 1.8.7
/usr/local/rvm/rubies/ruby-1.8.7-p302, this may take a while depending on your cpu(s)...

ruby-1.8.7-p302 - #fetching 
ruby-1.8.7-p302 - #extracted to /usr/local/rvm/src/ruby-1.8.7-p302 (already extracted)
ruby-1.8.7-p302 - #configuring 
ruby-1.8.7-p302 - #compiling 
ruby-1.8.7-p302 - #installing 
ruby-1.8.7-p302 - #rubygems installing to ruby-1.8.7-p302
ruby-1.8.7-p302 - adjusting #shebangs for (gem).
ruby-1.8.7-p302 - #importing default gemsets (/usr/local/rvm/gemsets/)
Install of ruby-1.8.7-p302 - #complete 
~$ rvm use 1.8.7 --default
Using /usr/local/rvm/gems/ruby-1.8.7-p302
~$ ruby -v
ruby 1.8.6 (2010-09-02 patchlevel 420) [x86_64-linux]
~$ rvm use 1.8.7
Using /usr/local/rvm/gems/ruby-1.8.7-p302
~$ ruby -v
ruby 1.8.6 (2010-09-02 patchlevel 420) [x86_64-linux]

Кажется, все работает нормально, за исключением того, что Ruby 1.8.6 по-прежнему является версией по умолчанию.

Какие еще шаги мне не хватает, чтобы переключить версию Ruby по умолчанию на 1.8.7?

РЕДАКТИРОВАТЬ: Кажется, есть некоторые действительно не интуитивное поведение в RVM. Если вы не устанавливаете определенные пакеты, то когда вы используете rvm для установки конкретной версии Ruby, rvm не только не будет собирать или устанавливать эту версию Ruby, но даже не будет сообщать вам, что она не собирает Ruby. Я заметил, что в каталоге /usr/local/rvm/gems/ruby-1.8.7-p302 ... нет каталога bin, что было необычно, поскольку Ruby - это двоичный файл и все. Поэтому я дважды проверил документы и нашел список пакетов Fedora для установки:

yum install -y bash curl git
yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel
yum install -y iconv-devel

После того, как они были установлены, запуск rvm install 1.8.7 правильно собрал бинарный файл Ruby. Как ни странно, rvm use 1.8.7 --default по-прежнему не обновляет версию Ruby по умолчанию, поэтому я сделал:

cp /usr/bin/ruby /usr/bin/ruby-1.8.6
rm -f /usr/bin/ruby
ln -s /usr/local/rvm/rubies/ruby-1.8.7-p302/bin/ruby /usr/bin/ruby

Ответы [ 2 ]

0 голосов
/ 29 декабря 2011

Не позитивно, это может быть несколько вещей.Однако я думаю, что это так.

Возможно, вам придется переключить компоновщик так, чтобы он указывал на вашу новую установку (файл «ярлыка» в / usr / bin /).Найдите, где вы установили новую версию ruby.Если компоновщик "ruby" в / usr / bin / не указывает на эту новую установку, создайте новую ссылку, щелкнув правой кнопкой мыши исполняемый файл ruby ​​и сделав ссылку, поместите его /usr/bin/.

Это мое единственное предположение, у меня была эта проблема, когда я установил новую версию Python.

0 голосов
/ 29 декабря 2011

Обязательно запустите ruby -v в той же оболочке, в которой вы запустили rvm use 1.8.7.Я не уверен, что делает опция --default, поэтому попробуйте ее отключить.

...