2012-03-12 11 views
32

Instalé Ruby 1.9.3 con RVM, y funciona bien. Luego realicé algunos cambios en un archivo fuente de Ruby C, y quiero recompilarlo y volver a instalarlo para poder usar los cambios. No he encontrado ningún tipo de rvm recompile comando sin embargo.¿Cómo recompiro un ruby ​​con RVM?

Respuesta

17

Ah hah. rvm uninstall [RUBY] seguido de rvm install [RUBY] hace el truco.

o más agradable:

rvm reinstall [RUBY] 
11

o rvm reinstall [RUBY]


+0

Yo no lo creo.Los documentos dicen: "Es equivalente a: RVM remove [ruby-string] RVM instalar [ruby-string] " – Dogweather

7

Uso:

rvm install --force 

Se pide explícitamente RVM utilizar las fuentes existentes, en las versiones anteriores esto era por defecto - pero podría ser muy confuso

Así demás órdenes de allí para la instalación:

rvm try_install <ruby> 

sólo se instalará si aún no instalado (el problema)

rvm reinstall <ruby> 

es lo mismo que:

rvm remove [--gems] <ruby> 
rvm install <ruby> 

, obviamente, algún tiempo guardado con reinstall y use [--gems] para también re mover todas las gemas que se instalaron con ruby.

mkdir -p projects/smth && cd projects smth 
rvm use [email protected] --install --create --ruby-version 

irán al proyecto, la instalación 1.9.3 (si aún no está instalado), crear el gemset, y crear .ruby-version archivo los otros flgs (disponible sólo en la cabeza antes de RVM v 1.11.0.):

  • --rvmrc - ya disponible en RVM - creará .rvmrc archivo
  • --versions-conf - disponible sólo en la cabeza antes de RVM v 1.11.0 -. creará .versions.conf - un archivo de configuración para su proyecto, puede poner hay alguna importante informatio n acerca de su proyecto ... como la versión Node.js
47

El problema con el uso rvm [reinstall|install] es que va a traer y utilizar los binarios precompilados si se puede encontrar ninguna. A veces, Realmente desea reconstruir desde el origen, probablemente porque está tratando de utilizar una versión más reciente de GCC (por ejemplo, 4.8 o 4.9).

La bandera correcta es --disable-binary, no --force:

rvm reinstall --disable-binary 2.1 
+0

interesantes, gracias por la punta – Dogweather

+2

Esto ayudó cuando actualicé desde Fedora 23 -> 24 y el La gema mysql2 ya no funciona porque fue compilada contra una libmysql anterior. – metaforge

Cuestiones relacionadas