Моя текущая версия ruby - ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0]
, но я хочу обновить ее до последнего уровня исправления, используя rvm. Как я могу это сделать?
Как обновить свой ruby 1.9.2-p0 до последнего уровня патча, используя rvm?
Ответ 1
Прежде всего, обновите свою установку RVM, запустив rvm get stable
.
Чтобы убедиться, что вы используете новую версию RVM, вам необходимо запустить rvm reload
(или просто открыть новый терминал).
После этого вы можете запросить RVM о списке рубиновых версий, доступных для установки, запустив rvm list known
.
На выходе вы должны увидеть:
# MRI Rubies
...
[ruby-]1.9.2[-p320]
...
Квадратные скобки вокруг уровня патча показывают, что в настоящий момент это уровень исправления RVM по умолчанию для ruby 1.9.2.
Наконец, чтобы установить новую рубиновую версию, просто запустите rvm install 1.9.2
- и дождитесь ее компиляции!
Ответ 2
Обновите рубиновый интерпретатор и сохраните существующие гемзеты:
$ rvm upgrade 1.9.2-p0 1.9.2
Are you sure you wish to upgrade from ruby-1.9.2-p0 to ruby-1.9.2-p136? (Y/n): Y
Для замены последней стабильной версией 1.9.2. Это позволяет избежать помех.
Некоторые дополнительные полезные советы, благодаря комментариям (@Mauro, @James, @ACB)
$ rvm list known
# NOTE: you probably want to upgrade your rvm first, as the list of known rubies seems to be coupled to the rvm version.
$ rvm get stable
$ rvm list known #pick your ruby
Ответ 3
Первое обновление RVM:
rvm get stable
Затем обновите версию Ruby:
rvm upgrade 2.0.0
Выберите "Да" для всех вопросов:
Are you sure you wish to upgrade from ruby-2.0.0-p195 to ruby-2.0.0-p247? (Y/n): Y
Are you sure you wish to MOVE gems from ruby-2.0.0-p195 to ruby-2.0.0-p247?
This will overwrite existing gems in ruby-2.0.0-p247 and remove them from ruby-2.0.0-p195 (Y/n): Y
Do you wish to move over aliases? (Y/n): Y
Do you wish to move over wrappers? (Y/n): Y
Do you also wish to completely remove ruby-2.0.0-p195 (inc. archive)? (Y/n): Y
Если вы хотите обновить свои драгоценные камни до последних версий, вы можете сделать:
rvm all do gem update
EDIT: Я сделал это сегодня для последней версии ruby 2.0.0 (я обновил с ruby-2.0.0-p195 до ruby-2.0.0-p353). После этого у меня возникала ошибка сегментации, когда я пытался обновить драгоценные камни. Это происходит потому, что драгоценные камни были установлены для ruby-2.0.0-p195, а некоторые из них несовместимы с p353.
Теперь вы можете пойти и попытаться найти драгоценные камни, которые несовместимы, но самым простым решением было удалить все установленные камни и снова установить их. Я просто удалил каталог gems/ruby-2.0.0-p353
, расположенный в /usr/local/rvm
. Это может быть где-то еще для вас.
Затем я запустил gem install bundler
и для каждого из моих приложений с рельсами я сделал bundle install
.
Ответ 4
вот так:
rvm update; rvm reload
rvm install ruby-1.9.2-p136
rvm --default ruby-1.9.2-p136
Ответ 5
Вы можете установить любой уровень патча, следуя странице в wiki.
Кроме того, каждый рубин является независимым, поэтому вы на самом деле не "обновляете и не сохраняете драгоценные камни", а устанавливаете новую версию патча, а затем устанавливаете драгоценные камни в этой новой рубиновой среде.
Возможно, это были гемзеты, но я их не использую.
Не забудьте также обновить свой rvm, на случай, если это будет некоторое время.
Ответ 6
Ответ наnpad определенно определяет основы, поэтому я не буду повторять эти шаги, но есть несколько ответов, в которых предлагается использовать rvm upgrade
. Я знаю, что rvm дает вам возможность, но это немного опасно.
IMO, более безопасный и более "способ rvm" - это первая rvm install
новая версия ruby, затем используйте команду rvm gemset copy
, чтобы скопировать ваши gemset в новую рубиновую версию, например. rvm gemset copy [email protected] [email protected]
. Затем вы можете легко переключить свой проект на использование вновь скопированного gemset (я рекомендую использовать файл .rvmrc
в каталоге проекта) и посмотреть, не сработает ли ваш код. Если это так, переход к старой рубиновой версии - это просто вопрос переключения gemset.
Но даже если вы не используете gemset (хотя я предполагаю, что вы это сделали, так как вы отметили рельсы по этому вопросу), использование rvm upgrade
может привести к неожиданным сбоям. И если ваш код сломается, теперь вам нужно снова установить старую версию. Просто возьмите еще немного времени и сделайте это чистым способом.
Ответ 7
Я думаю, его rvm install 1.9.2-head
Вы можете увидеть доступные рубины с помощью rvm list known
Ответ 8
Это сообщение в блоге должно быть полезным: http://pogodan.com/blog/2011/09/06/ruby-1-9-3-for-development
предметы первой необходимости:
rvm get head
rvm reload
wget https://gist.github.com/raw/1008945/4edd1e1dcc1f0db52d4816843a9d1e6b60661122/ruby-1.9.2p290.patch
rvm install ruby-1.9.2-p290 --patch ruby-1.9.2p290.patch -n patched