Как обновить 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.
теперь вы можете пойти и попытаться найти драгоценные камни, которые несовместимы, но самым простым решением было удалить все установленные драгоценные камни и установить их снова. Я просто удалил
вы можете установить любой уровень патч на следующей странице в поле 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
может привести к неожиданным сбоям. И если ваш код ломается, теперь вам нужно снова переустановить старую версию. Просто потратьте немного больше времени и сделайте это чистым способом.
это сообщение в блоге должно быть полезно: 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