Как мне обновить ruby ​​1.9.2-p0 до последнего уровня патча, используя rvm? - PullRequest
113 голосов
/ 01 января 2011

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

Ответы [ 8 ]

159 голосов
/ 01 января 2011

Прежде всего, обновите вашу установку 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 - и подождитедля компиляции!

94 голосов
/ 16 февраля 2011

Обновить интерпретатор ruby ​​ и сохранить существующие наборы гемов:

$ 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
32 голосов
/ 28 июля 2013

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

РЕДАКТИРОВАТЬ: я только что сделал это сегодня для последней версии ruby ​​2.0.0 (я обновил с ruby-2.0.0-p195 дорубин-2.0.0-P353).После этого у меня возникла ошибка сегментации, когда я пытался обновить гемы.Это происходит из-за того, что камни были установлены для ruby-2.0.0-p195, а некоторые из них несовместимы с p353.

Теперь вы можете попытаться найти несовместимые камни, но самым простым решением былоудалите все установленные драгоценные камни и установите их снова.Я просто удалил каталог gems/ruby-2.0.0-p353, который находился в /usr/local/rvm.Это может быть где-то еще для вас.

Затем я запустил gem install bundler и для каждого из моих приложений на рельсах я сделал bundle install.

13 голосов
/ 01 января 2011

как это:

rvm update; rvm reload
rvm install ruby-1.9.2-p136 
rvm --default ruby-1.9.2-p136
2 голосов
/ 14 февраля 2012

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

IMO, более безопасный и более «путь rvm» - это сначала rvm install новая версия ruby, а затем команда rvm gemset copy для копирования ваших наборов гемов в новую версию ruby, например, rvm gemset copy 1.9.2-p0@some-gemset 1.9.2-p290@some-gemset. Затем вы можете легко переключить свой проект на использование недавно скопированного набора гемов (я рекомендую использовать файл .rvmrc в каталоге вашего проекта) и посмотреть, не сработает ли ваш код. Если это произойдет, переключение обратно на старую версию ruby ​​- это просто переключение гемсета.

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

2 голосов
/ 01 января 2011

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

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

Это может быть, если в игру вступят гемсеты, но я ими не пользуюсь.

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

1 голос
/ 14 сентября 2011

Этот пост должен быть полезным: 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
1 голос
/ 01 января 2011

Я думаю, это rvm install 1.9.2-head

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

...