Как обновить ruby 1.9.2-p0 до последнего уровня исправления с помощью rvm?

моя текущая версия ruby -ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0] но я хочу обновить его до последнего уровня исправления с помощью rvm. Как я могу это сделать?

8 ответов


прежде всего, обновите установку RVM, запустив rvm get stable.

чтобы убедиться, что вы используете новую версию RVM, вам нужно будет запустить rvm reload (или просто откройте новый терминал).

как только это будет сделано, вы можете попросить RVM перечислить версии ruby, доступные для установки, запустив rvm list known.

на выходе вы увидите:

# MRI Rubies
...
[ruby-]1.9.2[-p320]
...

квадратные скобки вокруг уровня исправления указывают, что в настоящее время это исправление по умолчанию RVM уровень для Ruby 1.9.2.

наконец, чтобы установить новую версию ruby, просто запустите rvm install 1.9.2 - и дождитесь его компиляции!


обновить интерпретатор ruby и сохранить существующие gemsets:

$ 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

первое обновление 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.

теперь вы можете пойти и попытаться найти драгоценные камни, которые несовместимы, но самым простым решением было удалить все установленные драгоценные камни и установить их снова. Я просто удалил


такой:

rvm update; rvm reload
rvm install ruby-1.9.2-p136 
rvm --default ruby-1.9.2-p136

вы можете установить любой уровень патч на следующей странице в поле wiki.

кроме того, каждый Рубин независим, поэтому вы на самом деле не "обновление и сохранение драгоценных камней", но установка новой версии патча, а затем установка драгоценных камней в этой новой среде ruby.

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

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


ответ npad определенно излагает основы, поэтому я не буду повторять эти шаги, но здесь есть несколько ответов, предлагающих использовать rvm upgrade. Я знаю, что rvm дает вам возможность, но это немного опасно.

ИМО, более безопасный и более "путь РВМ" к первому rvm install новая версия ruby, затем используйте скопировать gemset(С) в новой версии Ruby, например,rvm gemset copy 1.9.2-p0@some-gemset 1.9.2-p290@some-gemset. Затем вы можете легко переключить свой проект на использование недавно скопированного набора драгоценных камней (я рекомендую с помощью .rvmrc файл в каталоге проекта) и посмотреть, если ваш код не работает. Если это так, изменение обратно на старую версию ruby-это просто вопрос переключения набора драгоценных камней.

но даже если вы не используете gemsets (хотя я предполагаю, что вы делаете, так как вы пометили рельсы по этому вопросу), использование rvm upgrade может привести к неожиданным сбоям. И если ваш код ломается, теперь вам нужно снова переустановить старую версию. Просто потратьте немного больше времени и сделайте это чистым способом.


Я думаю rvm install 1.9.2-head

Вы можете увидеть доступные рубины с rvm list known


это сообщение в блоге должно быть полезно: http://pogodan.com/blog/2011/09/06/ruby-1-9-3-for-development

essentials:

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