2011-01-01 17 views

Respuesta

158

Antes que nada, actualice su instalación de RVM ejecutando rvm get stable.

Para asegurarse de que está ejecutando la nueva versión de RVM, deberá ejecutar rvm reload (o simplemente abrir una nueva terminal).

Una vez hecho esto, puede pedirle a RVM que haga una lista de las versiones de ruby ​​disponibles para instalar ejecutando rvm list known.

En la salida Ahora debería ver:

# MRI Rubies 
... 
[ruby-]1.9.2[-p320] 
... 

Los corchetes en el nivel del programa indican que este es actualmente el nivel de revisión por defecto de RVM para Ruby 1.9.2.

Finalmente, para instalar la nueva versión de ruby, simplemente ejecute rvm install 1.9.2 - ¡y espere a que se compile!

+29

Para aquellos que están recibiendo _ERROR: la actualización de rvm se ha eliminado._ - 'rvm get latest' /' rvm get head' son las formas correctas de actualizar rvm ahora. – jibiel

1

supongo que es rvm install 1.9.2-head

Se puede ver rubíes disponibles con rvm list known

+0

'head' obtendrá el último nivel de parche? pensé que era para la última versión, lo que significa que podría ser algo inestable y experimental. – Lan

+0

Ahaa, cierto. Mezclé el último y el nivel de parche. – Heikki

2

Puede instalar cualquier nivel de parche siguiendo la página en su wiki.

Además, cada rubí es independiente, por lo que no está realmente 'actualizando y conservando las gemas' sino instalando una nueva versión de parche y luego instalando las gemas en ese nuevo entorno de ruby.

Esto puede ser que las gemas entren en juego, sin embargo no las uso.

No olvide actualizar su rvm también, en caso de que haya pasado un tiempo.

13

así:

rvm update; rvm reload 
rvm install ruby-1.9.2-p136 
rvm --default ruby-1.9.2-p136 
+3

Me gusta esta respuesta. Siento que actualizar la versión de Ruby derrota el propósito de usar rvm. Instalar una versión separada junto con p0 y luego declarar la versión más nueva (o cualquiera) como la predeterminada parece elegante. – Tass

+2

La actualización al parche más reciente a veces es necesaria por razones de seguridad, como cuando se descubren vulnerabilidades en una versión particular de Ruby. –

91

actualización rubí intérprete y mantener gemsets 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 reemplazar con la última versión estable de 1.9.2. Esto evita el desorden.

Algunos consejos útiles adicionales, gracias a los comentarios (@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 
+3

Además, puede 'rvm list known' para ver las versiones ruby ​​disponibles a las que puede actualizar. –

+0

Editar sugerido por @Mauro Nidola _ "$ rvm upgrade 1.9.2 1.9.2-p0 debe cambiarse a $ rvm upgrade 1.9.2-p0 1.9.2" _ – iDev

+0

No puedo ver su comentario @ACB, I ' Cambiará, su representante me dice que no tengo que volver a verificarlo. También estoy actualizando con el comentario de James – oma

1

Esta entrada de blog debería ser útil: http://pogodan.com/blog/2011/09/06/ruby-1-9-3-for-development

elementos esenciales:

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 
+0

Si bien esto podría responder teóricamente a la pregunta, [sería preferible] (http://meta.stackexchange.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace de referencia. –

2

La respuesta de npad definitivamente establece lo básico, así que no voy a reiterar esos pasos, pero hay varias respuestas aquí que sugieren usar rvm upgrade. Sé que rvm te da la opción, pero es un poco peligroso.

OMI, el "camino RVM" más seguro y es a primera rvm install la nueva versión rubí, a continuación, utilizar el comando rvm gemset copy para copiar su gemset (s) a la nueva versión de rubí, por ejemplo, rvm gemset copy [email protected] [email protected]. Luego puede cambiar fácilmente su proyecto a usar el gemset recién copiado (recomiendo usar un archivo .rvmrc en su directorio de proyecto) y ver si falla su código. Si lo hace, volver a la versión anterior de ruby ​​es solo cuestión de cambiar el gemset.

Pero incluso si no usa conjuntos de piedras preciosas (aunque supongo que lo hace desde que etiquetó los rieles en esta pregunta), el uso de rvm upgrade puede ocasionar fallas inesperadas. Y si su código se rompe, ahora tiene que volver a instalar la versión anterior. Solo toma un poco más de tiempo y hazlo de la manera más limpia.

31

Primera actualización RVM:

rvm get stable 

A continuación, actualizar su versión de Ruby:

rvm upgrade 2.0.0 

Elija sí, para todas las preguntas:

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 

Si desea actualizar sus gemas para las últimas versiones, usted puede hacer:

rvm all do gem update 

EDIT: acabo de hacer esto hoy para la última versión de ruby ​​2.0.0 (actualicé de ruby-2.0.0-p195 a ruby-2.0.0-p353). Después de eso, recibí una falla de segmentación cuando traté de actualizar las gemas. Esto sucede porque las gemas se instalaron para ruby-2.0.0-p195 y algunas de ellas son incompatibles con p353.

Ahora puede ir y tratar de encontrar las gemas que son incompatibles, pero la solución más fácil fue eliminar todas las gemas instaladas e instalarlas de nuevo. Simplemente eliminé el directorio gems/ruby-2.0.0-p353 que estaba ubicado en /usr/local/rvm. Podría ser en otro lugar para ti.

Luego ejecuté gem install bundler y para cada una de mis aplicaciones de rails lo hice bundle install.

Cuestiones relacionadas