2010-09-07 21 views
9

Cuando intento ejecutar pruebas desde TextMate en Rails3 me sale un error que remonto a boot.rb. Cuando trato de correr a través de boot.rb textmate consigo este error:Textmate Rails3 no hay tal archivo para cargar - bundler

LoadError: no such file to load — bundler 

method gem_original_require in custom_require.rb at line 31 
method require in custom_require.rb at line 31 
at top level in boot.rb at line 4 

Esto es, incluso en un nuevo proyecto rieles marca. Soy capaz de ejecutar el mismo archivo boot.rb del terminal llamante

ruby <path_to>/boot.rb 

puedo comprobar que mi variable de TM_RUBY es la misma que cuando llamo which ruby desde la línea de comandos. ¿Tienes alguna pista de por qué podría estar recibiendo este error?

+0

(comentando añadir que hemos establecido que sí, se instala la gema bundler.) – pjmorse

+1

podría ser la variable de entorno GEM_PATH no se establece ...? – mikeycgto

+0

Parece que algo está mal configurado en sus pruebas y sin suficiente retroceso, no creo que pueda ayudarlo. Además, intente actualizar los paquetes en Textmate, ya que podrían tener la culpa. Incidentemente, ¡el mío tampoco funciona! : -/ – Gav

Respuesta

13

Me encontré con este mismo problema con TextMate y RVM. Lo que hay que hacer:

  1. crear un guión envoltorio para la gemset que desea utilizar, usando este comando RVM:

    rvm wrapper [email protected] textmate 
    

    Esto añade un nuevo alias a su RVM install llamada textmate_ruby. Como probablemente puedas decir, esto supone que estás usando Ruby Enterprise (ree) y un gemset llamado rails3, pero cualquier cadena RVM funcionará aquí.

  2. Abra la ventana de preferencias de TextMate, vaya a Avanzado> Variables del shell. Es necesario crear (o actualizar) la variable TM_RUBY cáscara a lo siguiente:

    /path/to/your/.rvm/bin/textmate_ruby 
    

    Si su RVM se instala en su directorio de usuario (como la mía), que va a ser:

    /Users/[YOUR USER NAME HERE]/.rvm/bin/textmate_ruby 
    
  3. (Opcional) También puede necesitar/querer establecer la variable de shell RUBYOPT, para indicarle a Ruby que cargue rubygems. Esto puede ser necesario para hacer que ciertos paquetes (como RSpec) funcionen. Simplemente configure el valor en rubygems.

Esto debería ser todo lo que necesita.

+0

Eso funcionó para mí, ¡gracias! – Thilo

0

Esto podría estar sucediendo cuando estás usando RVM (ruby version manager) y textmate no lo sabe.

¿La prueba de rake funciona desde la línea de comandos?

+0

la prueba de rake funciona desde la línea de comandos y estoy usando RVM. – Schneems

1

Para obtener TextMate para usar el mismo intérprete RVM Rubí como la línea de comandos, hice lo siguiente:

  • En la línea de comandos, mecanografiado which ruby - para mí, esto era /Users/mgp/.rvm/gems/ruby-1.9.2-p180/bin/ruby
  • En las preferencias de TextMate , agregué /Users/mgp/.rvm/gems/ruby-1.9.2-p180/bin al frente de mi variable de shell PATH.
  • En las preferencias de TextMate, añadí una nueva variable shell GEM_PATH con el valor /Users/mgp/.rvm/gems/ruby-1.9.2-p180:/Users/mgp/.rvm/gems/[email protected]
3

Me pareció que era más sencilla de utilizar el enfoque rvm-auto-ruby.

Localizar el binario rvm-auto-ruby usando which:

$ which rvm-auto-ruby 

El resultado es la ruta al binario auto-carga:

/Users/yourusername/.rvm/bin/rvm-auto-ruby 

Añadir este camino a TextMate en: Preferencias -> Avanzado - > Variables de shell

Funciona como un alias que apunta a su versión activa Sion de Ruby.

Captura de pantalla: http://cl.ly/23Yl

Estas instrucciones están disponibles en el sitio web RVM: https://rvm.io/integration/textmate/

+0

¿Está utilizando Rails 4.2 y Ruby 2.2? ¿Funciona? No puedo hacerlo funcionar, cuando ejecuto un paquete de texto y cargas boot.rb: crash cuando se ejecuta 'require 'bundler/setup'' –

Cuestiones relacionadas