Respostas:
Em primeiro lugar, atualize a instalação do RVM executando rvm get stable
.
Para ter certeza de que está executando a nova versão do RVM, você precisará executar rvm reload
(ou apenas abrir um novo terminal).
Uma vez feito isso, você pode pedir ao RVM para listar as versões de ruby disponíveis para instalar executando rvm list known
.
Na saída você deve ver agora:
# MRI Rubies
...
[ruby-]1.9.2[-p320]
...
Os colchetes ao redor do nível de patch indicam que este é atualmente o nível de patch padrão do RVM para ruby 1.9.2.
Finalmente, para instalar a nova versão do ruby, apenas execute rvm install 1.9.2
- e espere a compilação!
Atualize o interpretador Ruby e mantenha os conjuntos de joias existentes:
$ 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
Para substituir pela versão estável mais recente de 1.9.2. Isso evita desordem.
Algumas dicas úteis adicionais, graças aos comentários (@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
ver as versões disponíveis do Ruby para as quais é possível atualizar.
Primeira atualização RVM:
rvm get stable
Em seguida, atualize sua versão Ruby:
rvm upgrade 2.0.0
Escolha sim para todas as perguntas:
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
Se quiser atualizar suas joias para as versões mais recentes, você pode fazer:
rvm all do gem update
EDIT: Acabei de fazer isso hoje para a versão mais recente do ruby 2.0.0 (atualizei de ruby-2.0.0-p195 para ruby-2.0.0-p353). Depois disso, eu estava recebendo falha de segmentação quando tentei atualizar as gemas. Isso acontece porque as gemas foram instaladas para ruby-2.0.0-p195 e algumas delas são incompatíveis com p353.
Agora você pode tentar encontrar as gemas incompatíveis, mas a solução mais fácil era remover todas as gemas instaladas e instalá-las novamente. Eu simplesmente removi o gems/ruby-2.0.0-p353
diretório que estava localizado em /usr/local/rvm
. Pode ser em outro lugar para você.
Então eu executei gem install bundler
e para cada um dos meus aplicativos Rails eu fiz bundle install
.
como isso:
rvm update; rvm reload
rvm install ruby-1.9.2-p136
rvm --default ruby-1.9.2-p136
Você pode instalar qualquer nível de patch seguindo a página em seu wiki .
Além disso, cada ruby é independente, então você não está realmente 'atualizando e mantendo as joias', mas instalando uma nova versão de patch e então instalando as joias naquele novo ambiente de ruby.
Este pode ser o lugar onde os gemsets entram em jogo, mas eu não os uso.
Não se esqueça de atualizar seu rvm também, caso já faça algum tempo.
A resposta do npad definitivamente apresenta o básico, então não vou repetir essas etapas, mas há várias respostas aqui sugerindo o uso rvm upgrade
. Eu sei que o rvm dá a você essa opção, mas é um pouco perigosa.
IMO, a maneira mais segura e "rvm" é primeiro rvm install
a nova versão do ruby, depois use o rvm gemset copy
comando para copiar o (s) conjunto (s) de joias para a nova versão do ruby, por exemplo rvm gemset copy 1.9.2-p0@some-gemset 1.9.2-p290@some-gemset
. Então, você pode facilmente mudar seu projeto para usar o gemset recém-copiado (eu recomendo usar um .rvmrc
arquivo no diretório do projeto) e ver se o código falha. Se isso acontecer, mudar de volta para a versão antiga do ruby é apenas uma questão de trocar o conjunto de joias.
Mas mesmo que você não use conjuntos de gemas (embora eu presuma que sim, já que marcou os trilhos nesta questão), o uso de rvm upgrade
pode levar a falhas inesperadas. E se o seu código quebrar, agora você tem que reinstalar a versão antiga novamente. Basta demorar um pouco mais e fazer da maneira limpa.
Eu acho que é rvm install 1.9.2-head
Você pode ver os rubis disponíveis com rvm list known
head
obter o nível de patch mais recente? pensei que fosse para a versão mais recente, o que significa que pode ser algo instável e experimental.
Esta postagem do blog deve ser útil: http://pogodan.com/blog/2011/09/06/ruby-1-9-3-for-development
Essenciais:
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
são as maneiras corretas de atualizar o rvm agora.