TextMate, rvm y TM_RUBY

En las instrucciones de TextMate RVM, el texto que dice para establecer TM_RUBY en /Users/wayne/.rvm/bin/textmate_ruby y en la imagen lo muestra configurado en rvm-auto-ruby . Decidí configurarlo en rvm-auto-ruby pensando que usaría la versión predeterminada de Ruby de RVM.

Al ejecutar el Command R en el archivo RSpec.bundle con TM_RUBY configurado en rvm-auto-ruby se producirá un error de carga . Cuando lo configuras en textmate_ruby funciona.

El único problema aquí es que TextMate no siempre usa la versión predeterminada de Ruby ya que está codificado en ese archivo.

/Users/jspooner/.rvm/bin/textmate_ruby :

 #!/usr/bin/env bash if [[ -s "/Users/jspooner/.rvm/environments/ruby-1.9.2-head" ]] ; then source "/Users/jspooner/.rvm/environments/ruby-1.9.2-head" exec ruby "$@" else echo "ERROR: Missing RVM environment file: '/Users/jspooner/.rvm/environments/ruby-1.9.2-head'" >&2 exit 1 fi 

Así que dos preguntas:

  1. ¿Qué debería hacer TM_RUBY=rvm-auto-ruby realidad?
  2. ¿Hay alguna manera de que TextMate use el valor predeterminado de RVM?

Vea su otra pregunta similar, el paquete Rspec está roto en TextMate y rvm .


Para ayudar a otros a perseguir este mismo problema, la solución parece estar en: RVM / Textmate no reconoce las Opciones de .rvmrc .

Básicamente, reemplaza el enlace de software ~/.rvm/bin/textmate_ruby con un archivo. Esto es lo que hice:

  1. cd ~/.rvm/bin
  2. mv textmate_ruby old.textmate_ruby
  3. Cree un script de shell llamado textmate_ruby en el mismo directorio para reemplazar el enlace flexible, usando el siguiente contenido:
    
    

    ! / usr / bin / env sh

    fuente ~ / .rvm / scripts / rvm discos compactos . exec ruby ​​"$ @"
  4. chmod +x textmate_ruby

Antes de hacer este cambio, vería la versión de mi sistema Ruby (1.8.7) si ejecutaba CMD + R para ejecutar el siguiente script en TextMate:

 puts RUBY_VERSION 

La evaluación de la secuencia de comandos utilizando CMD + CNTRL + MAYÚS + E me dio 1.9.2.

Después de cambiar a usar ese script, ambos apuntan a Ruby 1.9.2, así que al menos ahora hay cierta consistencia. No veo TextMate rastreando mi versión RVM Ruby actualmente configurada; En su lugar, está utilizando la versión predeterminada establecida en RVM: rvm use 1.9.2 --default . Esto sigue siendo un paso adelante porque puedo controlar qué Ruby TextMate usa ajustando mi --default .

Si decide que desea revertir más tarde, simplemente cambie el nombre o elimine el script e invierta el paso 2 anterior.

Configurando TM_RUBY en your-path/rvm-auto-ruby

http://rvm.io/integration/textmate/

Debería cargar cualquier ruby ​​y gemset que se indica en el archivo .rvmrc ubicado en el proyecto y si no hay ninguno predeterminado, rvm default. Acabo de hacer funcionar esto y es muy suave. Necesitaba obtener la última versión de rvm

 rvm get head 

para que funcione y reinicie Textmate. Espero que ayude.