2011-02-09 15 views
6

He configurado RVM y he hecho gemas individuales para mis proyectos según el RVM best practices. Ahora, ejecutar un archivo de prueba en TextMate no funciona y tengo read here qué hacer. El problema es que no funcionará porque la guía espera que tenga solo un gemset (lo llaman "Rails3"). Normalmente tengo 2-3 proyectos abiertos a la vez (usando diferentes conjuntos de piedras) por lo que no puedo usar este enfoque de manera efectiva.Uso de RVM con diferentes gemas en TextMate

¿Alguno de ustedes ha resuelto ese problema?

Respuesta

12

He encontrado que el método de envolturas RVM es muy defectuoso, y como has descubierto, no funciona en absoluto con los conjuntos de valores a menos que hagas una gran cantidad de configuración tediosa.

que he tenido cierto éxito utilizando la siguiente secuencia de comandos como TM_RUBY:

#!/bin/bash 

base_dir=${TM_PROJECT_DIRECTORY:-$PWD} 
cd $base_dir 
exec $MY_RUBY_HOME/bin/ruby $* 

Mientras estás en un proyecto TextMate y usted tiene un archivo .rvmrc en la raíz del proyecto se ejecutará el código en la versión Ruby y gemset especificados en el .rvmrc. El cd se asegura de que RVM descubra el .rvmrc.

Ponga el código de arriba en ~/bin/textmate_ruby_wrapper y luego vaya a Preferencias> Avanzado> Variables del shell y configure TM_RUBY en la misma ruta.

+0

Hombre, he estado [salvarme de upvotes preguntas] (http://stackoverflow.com/badges/155/electorate), pero tengo que gastar uno en esto. ¡Muy agradable! – Phrogz

+0

No guarde sus votos ganadores. No puedes llevártelos contigo. –

+0

Eres taaaaan genial :-) ¡Muchas gracias! Un hombre feliz aquí :-) – jriff

0

He encontrado esta solución que es aún más simple. Bajo las preferencias TextMate - Avanzado - Variables: Shell

Fije su GEM_HOME:

env | grep GEM_HOME | awk '{ sub(/GEM_HOME=/, ""); print }' 

Fije su GEM_PATH:

env | grep GEM_PATH | awk '{ sub(/GEM_PATH=/, ""); print }' 
Cuestiones relacionadas