Risposte:
Prima di tutto, aggiorna la tua installazione RVM eseguendo rvm get stable
.
Per assicurarti di eseguire la nuova versione RVM, dovrai quindi eseguire rvm reload
(o semplicemente aprire un nuovo terminale).
Una volta fatto, puoi chiedere a RVM di elencare le versioni di ruby disponibili per l'installazione eseguendo rvm list known
.
Nell'output ora dovresti vedere:
# MRI Rubies
...
[ruby-]1.9.2[-p320]
...
Le parentesi quadre intorno al livello di patch indicano che questo è attualmente il livello di patch predefinito di RVM per ruby 1.9.2.
Infine, per installare la nuova versione di ruby, esegui rvm install 1.9.2
e aspetta che si compili!
Aggiorna l'interprete di rubino e mantieni le gemme esistenti:
$ 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
Da sostituire con l'ultima versione stabile della 1.9.2. Questo evita il disordine.
Alcuni suggerimenti utili aggiuntivi, grazie ai commenti (@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
vedere le versioni di ruby disponibili a cui puoi eseguire l'aggiornamento.
Primo aggiornamento RVM:
rvm get stable
Quindi aggiorna la tua versione di Ruby:
rvm upgrade 2.0.0
Scegli sì per tutte le domande:
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 desideri aggiornare le tue gemme alle ultime versioni, puoi fare:
rvm all do gem update
EDIT: l'ho appena fatto oggi per l'ultima versione di ruby 2.0.0 (ho aggiornato da ruby-2.0.0-p195 a ruby-2.0.0-p353). Successivamente, stavo ricevendo un errore di segmentazione quando ho provato ad aggiornare le gemme. Ciò accade perché le gemme sono state installate per ruby-2.0.0-p195 e alcune di esse sono incompatibili con p353.
Ora puoi andare e provare a trovare le gemme incompatibili, ma la soluzione più semplice era rimuovere tutte le gemme installate e installarle di nuovo. Ho semplicemente rimosso la gems/ruby-2.0.0-p353
directory che si trovava in /usr/local/rvm
. Potrebbe essere da qualche altra parte per te.
Poi ho corso gem install bundler
e per ciascuna delle mie app rails ho fatto bundle install
.
come questo:
rvm update; rvm reload
rvm install ruby-1.9.2-p136
rvm --default ruby-1.9.2-p136
Puoi installare qualsiasi livello di patch seguendo la pagina nel loro wiki .
Inoltre, ogni rubino è indipendente, quindi non stai realmente "aggiornando e mantenendo le gemme" ma installando una nuova versione di patch e quindi installando le gemme in quel nuovo ambiente rubino.
Questo potrebbe essere il momento in cui le gemme entrano in gioco, ma non le uso.
Non dimenticare di aggiornare anche il tuo rvm, nel caso sia passato un po 'di tempo.
La risposta di npad delinea sicuramente le basi, quindi non ripeterò questi passaggi, ma ci sono diverse risposte qui che suggeriscono l'utilizzo rvm upgrade
. So che rvm ti dà l'opzione, ma è un po 'pericolosa.
IMO, il modo più sicuro e più "rvm" è prima rvm install
la nuova versione di ruby, quindi utilizzare il rvm gemset copy
comando per copiare i tuoi gemset nella nuova versione di ruby, ad es rvm gemset copy 1.9.2-p0@some-gemset 1.9.2-p290@some-gemset
. Quindi puoi facilmente cambiare il tuo progetto usando il gemset appena copiato (ti consiglio di usare un .rvmrc
file nella directory del tuo progetto) e vedere se il tuo codice fallisce. In tal caso, tornare alla vecchia versione di ruby è solo questione di cambiare gemset.
Ma anche se non usi i set di gemme (anche se presumo che tu lo faccia poiché hai taggato i binari su questa domanda), l'uso di rvm upgrade
può portare a fallimenti imprevisti. E se il tuo codice si rompe, ora devi reinstallare di nuovo la vecchia versione. Prenditi un po 'più di tempo e fallo in modo pulito.
Immagino sia rvm install 1.9.2-head
Puoi vedere i rubini disponibili con rvm list known
head
ottenere il livello di patch più recente? Ho pensato che fosse per l'ultima versione, il che significa che potrebbe essere qualcosa di instabile e sperimentale.
Questo post del blog dovrebbe essere utile: http://pogodan.com/blog/2011/09/06/ruby-1-9-3-for-development
elementi essenziali:
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
sono i modi corretti per aggiornare rvm adesso.