2010-07-29 11 views
55

Instalé RVM con algunas versiones de intérpretes de Ruby hace algún tiempo. ¿Cómo puedo actualizarlo, porque las nuevas versiones ya están publicadas?¿Cómo actualizo los intérpretes de Ruby con RVM?

Encontré solo una forma: rvm install 1.9.2-rc1 && rvm remove 1.9.2-preview1, pero pierdo mis gemas. ¿Puedo actualizar las sucursales de vez en cuando? No he encontrado ningún consejo en la documentación.

+2

¿Se puede cambiar la respuesta aceptada debido al comando de actualización rvm? – joelparkerhenderson

Respuesta

19

versión actual RVM ofrece una manera más fácil de hacer esto. La opción 'actualización' migrará conjuntos de gemas, envolturas y los archivos de entorno -

$ rvm upgrade 1.9.2-p136 1.9.2-p180 

para averiguar si existe una versión estable más reciente de una aplicación de rubí para que actualice, en primer lugar obtener la última versión de RVM y luego enumerar las versiones conocidas de Ruby.

$ rvm get stable 
$ rvm list known 

Se puede comparar las versiones de rubí instalados en su sistema

$ rvm list rubies 
+6

Para ver versiones de Ruby posteriores, (parece que primero debe hacerlo) ejecutar 'rvm get stable'. – MarkDBlackwell

25

[Editar: RVM tiene un nuevo comando para upgrade-- es probable que desee utilizar la respuesta por andy318]

yo sepa, no hay forma automática de hacer esto en el momento, pero algo como esto le permite para mantener sus joyas:

rvm use 1.9.2-preview1 
rvm gemset export 
rvm install 1.9.2-rc1 
rvm use 1.9.2-rc1 
rvm gemset import 
rvm remove 1.9.2-preview1 

Ahora, para la automatización de las actualizaciones, que tendría que detectar cambios de versión, es fácil, ya que simplemente puede utilizar el valor de retorno de rvm use 1.9.2. Averiguar cuál es la nueva versión (1.9.2-rc1) es innecesario, ya que tiene un alias como 1.9.2. El truco es encontrar la última versión instalada de 1.9.2. Se podría hacer algo como esto en una tarea programada:

# make sure you source rvm first 
rvm update --head 
rvm reload 
if [ ! rvm use 1.9.2 ]; then 
    for ruby_version in `rvm list strings`; do 
    # find the latest version of 1.9.2 
    case $ruby_version in 
     ruby-1.9.2-*) latest192=$ruby_version;; 
    esac 
    done 
    rvm use $latest192 
    rvm gemset export 192.gems 
    rvm install 1.9.2 
    rvm use 1.9.2 
    rvm gemset import 192 
    rvm remove $latest192 
fi 

no trató de eso, pero tengo un código similar en mi script de actualización. También resbalé en gem update y otras cosas.

No dudes en visitar el canal de IRC#rvm en Freenode.

+2

Use la actualización de rvm en su lugar, consulte a continuación. – gucki

83

utilizar el comando rvm upgrade 1.9.2-preview1 1.9.2-rc1 o mira este screencast

+0

¿Qué pasará con mis gemas de 1.9.2-preview1 – Anand

+2

según 'rvm help upgrade':' Se migrarán gemas, envoltorios, alias y archivos de entorno. – asymmetric

+0

Además, las versiones actuales de la actualización de RVM en un orden esperado 'rvm actualizar [ruby de origen] [ruby de destino] '. Wayne arregló eso :) – Abel

-1

Creo que es:

rvm all do gemset update 
2

Hay una fantástica RVM GUI llama JewelryBox que utilizo para gestionar mi Ruby versiones

http://jewelrybox.unfiniti.com

+0

Después de leer esto, compruebe https://rvm.io/ y se dice que JewelryBox es la ** GUI oficial de RVM ** (solo usuarios de OS X). Esta fue una gran ayuda, gracias. – cenk

3

puede instalar los últimos rvm y ruby ​​por:

$ \ curl -L https://get.rvm.io | fiesta -s estable --ruby

y comprobar toda la versión de rubí con estabilidad

lista $ RVM conocidos

También puede comprobar los detalles aquí: http://www.ruby-lang.org/en/downloads/

$ RVM instalar ruby ​​2.0.0-p247

Utilícelo cuando desee descargar una versión específica o sepa que es estable.

Cuestiones relacionadas