ruby on rails - license - No se puede depurar en RubyMine 4.5 utilizando Ruby 1.9.3
rubymine free (6)
Finalmente conseguí esto trabajando hoy con un enorme hack de kludge. Creo que el paso que hizo fue.
sudo chmod -R 777 ~/.rvm
Deja que RubyMine haga su trabajo.
También me aseguré de desinstalar todas las gemas que tenía además del rake
. Creo que las más reby-debug-ide
, ruby-debug-base19x
, linecache19
, ruby_core_source
, archive-tar-minitar
y columnize
. También desinstalé rvm
y reinstalé con clang. Pero primero intentaría hacer la cosa chmod. Intenté cambiar a 766, pero a RubyMine no le gustó. Tan enorme kludge hack es. Ahora recibo muchas advertencias sobre el Insecure world
pero al menos el depurador está funcionando. Bastante seguro de que la próxima versión de RubyMine no usará el antiguo ruby-debug-base19x , sino las gemas más recientemente editadas en https://github.com/ruby-debug . Así que espero que alguien en los impresionantes JetBrains lo arregle. Por cierto, también intenté ejecutar RubyMine con sudo mine
pero eso tampoco funcionó.
Mis disculpas por la duración de la pregunta, pero quiero aclarar que no estoy cometiendo ningún error estúpido.
Por lo tanto, estoy luchando para que la depuración funcione en RubyMine 4.5 utilizando Ruby 1.9.3, mis pasos son los siguientes:
Instalación nueva (es decir, que eliminó todos los directorios anteriores de ruby ββy gema) de Ruby 1.9.3, Ruby Gems, DevKit y Rails (siguiendo esta guía ): funciona bien.
Luego trato de comenzar a trabajar con el código rubí de mi equipo. Abro el directorio en RubyMine (recordando primero eliminar el directorio .idea
) y se me pide que ejecute bundle install
lo que hago (desde la consola) según lo solicitado. Esto se completa con éxito. Reinicie RubyMine.
Luego me #test => nil
Ruby esté funcionando: Herramientas> Consola IRB> puts "test"
#test => nil
- Funciona. Ahora intento el depurador ( SHIFT
+ F9
) y veo el mensaje:
The gem ruby-debug-base19x required by the debugger is currently not installed. Would you like to install it?"
Al hacer clic en Cancelar y verifico mi Gemfile, los únicos relacionados con la depuración actual son:
# Debugging
gem ''debugger''
#gem ''ruby-debug-base19'', :require => false
#gem ''ruby-debug19'', :require => false
gem ''ruby-prof'', :require => false #, :git => ''git://github.com/wycats/ruby-prof.git''
Parece que tenemos un debugger a favor de ruby-debug
. Leyendo here , sin embargo, parece que el debugger
no es suficiente. Necesito instalar ruby-debug-base19x
. Entonces, después de SO , comento el depurador de Gemfile y ejecuto
gem install ruby-debug-base19x --pre
gem install ruby-debug-ide --pre
Que corren bien, así que agrego
gem ''ruby-debug-base19x'', ''0.11.30.pre10''
gem ''ruby-debug-ide'', ''0.4.17.beta14''
a mi Gemfile, y ejecute un bundle install
desde la consola.
Finalmente, abro el depurador dentro de RubyMine (MAYÚS + F9). Y puts "test" #test => nil
funciona de nuevo. Así que trato de hacer doble clic en el canal de mi script para crear un punto de interrupción, RubyMine se detiene por un segundo y luego obtengo:
D:/Ruby/Ruby193/bin/ruby.exe -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.17.beta14/bin/rdebug-ide --dispatcher-port 55451 --port 55452 -- S:/code/account_groups/script/rails console
Fast Debugger (ruby-debug-ide 0.4.17.beta14, ruby-debug-base 0.11.30.pre10) listens on 127.0.0.1:55452
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/debugger-1.1.4/lib/ruby_debug.so: warning: already initialized constant VERSION
5992: Exception in DebugThread loop: undefined method `errmsg'' for #<Debugger::ControlState:0x2a2f3e8>
Backtrace:
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/debugger-1.1.4/lib/ruby-debug/command.rb:160:in `errmsg''
from: D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/debugger-1.1.4/lib/ruby-debug/commands/breakpoints.rb:81:in `execute''
from: D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.17.beta14/lib/ruby-debug-ide/ide_processor.rb:89:in `block in process_commands''
from: D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.17.beta14/lib/ruby-debug-ide/ide_processor.rb:86:in `catch''
from: D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.17.beta14/lib/ruby-debug-ide/ide_processor.rb:86:in `process_commands''
from: D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.17.beta14/lib/ruby-debug-ide.rb:160:in `block in start_control''
Process finished with exit code 0
También intenté usar una copia de respaldo del código y siguiendo los mismos pasos, también obtengo el siguiente error al intentar cargar el depurador:
Uncaught exception: cannot load such file -- ruby-debug
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `block in require''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:236:in `load_dependency''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require''
S:/code/account_groups_so/lib/systematic-online/r_spec_runner.rb:5:in `<top (required)>''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `block in require''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:236:in `load_dependency''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require''
S:/code/account_groups_so/config/environment.rb:12:in `block in <top (required)>''
S:/code/account_groups_so/config/environment.rb:12:in `each''
S:/code/account_groups_so/config/environment.rb:12:in `<top (required)>''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `block in require''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:236:in `load_dependency''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.6/lib/rails/application.rb:103:in `require_environment!''
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.6/lib/rails/commands.rb:40:in `<top (required)>''
S:/code/account_groups_so/script/rails:6:in `require''
S:/code/account_groups_so/script/rails:6:in `<top (required)>''
No hay nada malo con el script (lo he usado bien antes) y el rastreo parece estar relacionado con ruby-debug-ide
. ¿Qué está pasando?
Gracias por cualquier ayuda, ¡esto me está volviendo loco!
Para escapar de este problema tengo esta línea en mi Gemfile
:
gem ''debugger'' unless ENV["RM_INFO"]
Solo para documentar la solución de Jetbrains: Use:
gem ''debugger'', {group: [:test, :development]}.merge(ENV[''RM_INFO''] ? {require: false} : {})
O:
gem ''pry-debug'', {group: [:test, :development]}.merge(ENV[''RM_INFO''] ? {require: false} : {})
Esto garantiza que el Gemfile.lock permanezca sin cambios, por lo que un grupo con RubyMine y vi / sublime / any mixtos puede funcionar felizmente, al no requerir la gema en un entorno RubyMine.
Tuve algunos problemas con el depurador. Instalé Rails y configuré la ruta en las opciones de configuración para ruby.exe en la instalación de Rails y todo funciona perfectamente.
Tuve el mismo problema, y ββme costó horas para que funcione. Esto es lo que finalmente hizo funcionar al depurador (esto es usar RVM):
- Salir de RubyMine
- Si Ruby 1.9.3 está instalado, desinstálelo:
rvm remove 1.9.3
- Instala Ruby 1.9.3 bajo RVM:
rvm install 1.9.3 --with-gcc=clang
- esto produce el error "opción no admitida ''--with-libyaml''", pero todavía no he visto ningún mal efecto - Cambia al nuevo ruby:
rvm use 1.9.3
- Listar y eliminar todas las gemas ruby-debug *:
gem list | grep debug
gem list | grep debug
-gem uninstall <found gems>
- Descargue linecache19 desde http://rubyforge.org/frs/?group_id=8883 e instale la gema, es decir:
gem install linecache19-0.5.13.gem
- Lauch RubyMine, y ejecute el depurador; informará sobre las gemas faltantes de depuración (es decir, ruby-debug-ide); deja que RubyMine instale esos.
Fue entonces cuando el depurador comenzó a trabajar. Vea también esta discusión de soporte de RubyMine: http://devnet.jetbrains.com/message/5443846#5443846
ACTUALIZACIÓN : RubyMine 6+ soporta la gema del depurador.
Asegúrese de eliminar el gem ''debugger''
de gem ''debugger''
de su Gemfile
, es un conflicto conocido que romperá la depuración de RubyMine. Solo necesita 2 gemas relacionadas con el depurador, exactamente como se indica en mi otra respuesta vinculada en su pregunta.
Después de eliminar la gema, debe asegurarse de que no esté referenciado en ninguna parte del proyecto. En este caso particular, r_spec_runner.rb
require ''ruby-debug''
declaración require ''ruby-debug''
, que cannot load such file -- ruby-debug
error de cannot load such file -- ruby-debug
al intentar ejecutar la rails console
.