4Trabes Historias de una empresa en 100 metros cuadrados

El blog de Trabe Soluciones

RVM, bundler y binstubs

|

Bundler tiene una opción maravillosa: --binstubs, que instala en el directorio de nuestra elección (por defecto ./bin) scripts que invocan los ejecutables de las gemas contenidas en el bundle, permitiendo invocar directamente dichos ejecutables sin recurrir a bundle exec. Si hacemos esto, lo más cómodo es añadir ./bin como primer elemento de nuestro PATH. Por desgracia, si usamos RVM esto no funciona. Dado su funcionamiento, RVM necesita ajustar el PATH cada vez que invocamos un rvm use. Nuestro gozo en un pozo.

.rvmrc al rescate

Los ficheros .rvmrc valen para mucho más que fijar la versión de ruby o el gemset que queremos usar en un proyecto concreto; son scripts de shell en toda regla. Podemos, por lo tanto, utilizarlos para modificar el PATH y dar prioridad a nuestro .bin, arreglando el problema.

1
2
rvm use ruby-1.9.2-p290
export PATH=./bin:$PATH

La alternativa: rbenv

Si esto os parece incómodo o sucio, siempre podéis utilizar rbenv en lugar de RVM. Yo he empezado a usarlo en casa y estoy bastante contento; en lo básico es muy parecido a RVM y es menos intrusivo con el shell.

Lo sentimos, pero los comentarios están cerrados