Ответы:
Прежде всего, обновите установку 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 и сохраните существующие гемсеты:
$ 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 list known
увидеть доступные версии 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
РЕДАКТИРОВАТЬ: я сделал это сегодня для последней версии 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
и сделал для каждого из своих приложений rails bundle install
.
как это:
rvm update; rvm reload
rvm install ruby-1.9.2-p136
rvm --default ruby-1.9.2-p136
Вы можете установить патч любого уровня, следуя странице в их вики .
Кроме того, каждый рубин независим, поэтому вы на самом деле не «обновляете и сохраняете драгоценные камни», а устанавливаете новую версию исправления, а затем устанавливаете драгоценные камни в этой новой среде рубина.
Возможно, это были гемсеты, но я их не использую.
Не забудьте также обновить свой rvm, на случай, если это было давно.
Ответ npad определенно излагает основы, поэтому я не буду повторять эти шаги, но здесь есть несколько ответов, предлагающих использовать rvm upgrade
. Я знаю, что rvm дает вам возможность, но это немного опасно.
IMO, более безопасный и более "способ rvm" - сначала rvm install
установить новую версию rvm gemset copy
Ruby , а затем использовать команду для копирования вашего набора (ов) в новую версию Ruby, например rvm gemset copy 1.9.2-p0@some-gemset 1.9.2-p290@some-gemset
. Затем вы можете легко переключить свой проект на использование только что скопированного гемсета (я рекомендую использовать .rvmrc
файл в каталоге вашего проекта) и посмотреть, не работает ли ваш код. Если это так, возврат к старой версии Ruby - это просто вопрос переключения гемсета.
Но даже если вы не используете гемсеты (хотя я предполагаю, что вы это делаете, поскольку вы отметили рельсы в этом вопросе), использование rvm upgrade
может привести к неожиданным сбоям. И если ваш код сломается, вам придется снова переустановить старую версию. Просто потратьте немного больше времени и сделайте это чисто.
Я думаю это rvm install 1.9.2-head
Вы можете увидеть доступные рубины с помощью rvm list known
head
получить последний уровень патча? Я думал, что это самая последняя версия, а это значит, что это может быть что-то нестабильное и экспериментальное.
Это сообщение в блоге должно быть полезным: 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
rvm get latest
/rvm get head
- это правильные способы обновить rvm сейчас.