rails instalar for ruby-on-rails ruby gem rvm

ruby on rails - instalar - Error de instalación del depurador de Gem



rvm load ruby version (6)

Desafortunadamente ninguna respuesta resolvió este problema. Como fue respondido anteriormente por nickh, "Ruby 2.1.2 no es compatible con el depurador".

Encontré una publicación japonesa que me permitió instalar esta gema, pero no me responsabilizo por ello, ya que no es una publicación oficial. Hazlo bajo tu propio riesgo:

git clone https://github.com/mekishizufu/debugger.git cd debugger git checkout ca451a9bdf gem build debugger.gemspec gem install debugger-1.6.6.gem

Fuente: http://d.hatena.ne.jp/mabots/20140723/1406087504

Estoy ejecutando Rails v4.0.2 en Mac OS 10.9.2 y lo tuve todo sin problemas. De repente me aparece un error que dice que faltan gemas cuando intento el rails server . Ejecuto bundle install y esta es la salida:

Fetching gem metadata from https://rubygems.org/....... Fetching additional metadata from https://rubygems.org/.. Using rake 10.1.1 Using i18n 0.6.9 Using minitest 4.7.5 Using multi_json 1.9.0 Using atomic 1.1.16 Using thread_safe 0.2.0 Using tzinfo 0.3.39 Using activesupport 4.0.2 Using builder 3.1.4 Using erubis 2.7.0 Using rack 1.5.2 Using rack-test 0.6.2 Using actionpack 4.0.2 Using mime-types 1.25.1 Using polyglot 0.3.4 Using treetop 1.4.15 Using mail 2.5.4 Using actionmailer 4.0.2 Using activemodel 4.0.2 Using activerecord-deprecated_finders 1.0.3 Using arel 4.0.2 Using activerecord 4.0.2 Using encryptor 1.3.0 Using attr_encrypted 1.3.2 Using awesome_print 1.2.0 Using bcrypt 3.1.7 Using bcrypt-ruby 3.1.5 Using net-ssh 2.8.0 Using net-scp 1.1.2 Using tins 1.0.0 Using term-ansicolor 1.3.0 Using sshkit 1.3.0 Using capistrano 3.1.0 Using capistrano-bundler 1.1.2 Using capistrano-rails 1.1.1 Using climate_control 0.0.3 Using cocaine 0.5.3 Using coderay 1.1.0 Using coffee-script-source 1.7.0 Using execjs 2.0.2 Using coffee-script 2.2.0 Using thor 0.18.1 Using railties 4.0.2 Using coffee-rails 4.0.1 Using columnize 0.3.6 Using currencies 0.4.2 Using countries 0.9.3 Using debugger-linecache 1.2.0 Using debugger-ruby_core_source 1.3.2 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/aaronpardes/.rvm/rubies/ruby-2.1.2/bin/ruby /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in `stat'': No such file or directory @ rb_file_s_stat - ./212/ruby_debug.h (Errno::ENOENT) from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in `block in fu_each_src_dest'' from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1587:in `fu_each_src_dest0'' from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1571:in `fu_each_src_dest'' from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:399:in `cp'' from extconf.rb:83:in `block in <main>'' from extconf.rb:82:in `each'' from extconf.rb:82:in `<main>'' extconf failed, exit code 1 Gem files will remain installed in /Users/aaronpardes/.rvm/gems/ruby-2.1.2@ocx/gems/debugger-1.6.6 for inspection. Results logged to /Users/aaronpardes/.rvm/gems/ruby-2.1.2@ocx/extensions/x86_64-darwin-13/2.1.0-static/debugger-1.6.6/gem_make.out An error occurred while installing debugger (1.6.6), and Bundler cannot continue. Make sure that `gem install debugger -v ''1.6.6''` succeeds before bundling.

Cuando intento ejecutar el gem install debugger -v ''1.6.6'' obtengo el siguiente resultado:

Building native extensions. This could take a while... ERROR: Error installing debugger: ERROR: Failed to build gem native extension. /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/Users/aaronpardes/.rvm/rubies/ruby-2.1.2/bin/ruby /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in `stat'': No such file or directory @ rb_file_s_stat - ./212/ruby_debug.h (Errno::ENOENT) from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in `block in fu_each_src_dest'' from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1587:in `fu_each_src_dest0'' from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1571:in `fu_each_src_dest'' from /Users/aaronpardes/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:399:in `cp'' from extconf.rb:83:in `block in <main>'' from extconf.rb:82:in `each'' from extconf.rb:82:in `<main>'' extconf failed, exit code 1 Gem files will remain installed in /Users/aaronpardes/.rvm/gems/ruby-2.1.2@ocx/gems/debugger-1.6.6 for inspection. Results logged to /Users/aaronpardes/.rvm/gems/ruby-2.1.2@ocx/extensions/x86_64-darwin-13/2.1.0-static/debugger-1.6.6/gem_make.out

Estoy muy confundido de por qué este error surgió de repente. He estado funcionando sin problemas durante semanas. He intentado crear un nuevo gemset con rvm y todavía encuentro el mismo problema. Después de buscar, encontré recomendaciones para actualizar las dependencias primero y luego intentar la bundle install pero esto no resolvió el problema.


Esta monstruosidad de un comando terminó haciendo el truco para mí:

gem install debugger-ruby_core_source && ARCHFLAGS="-I$(dirname -- "$(gem which debugger/ruby_core_source/ruby-$(ruby -v | awk ''{sub(/p/, "-p", $2); print $2}'')/vm_core.h)") -include vm_core.h" bundle install

Mis disculpas.

Romperlo:

  • Primero, instale los encabezados de Ruby.

    gem install debugger-ruby_core_source

  • Ahora, si eso tiene éxito, queremos ejecutar bundle install pero debe ser capaz de encontrar esos encabezados de Ruby. Al buscar en la salida del gem contents debugger-rebuy_core_source de gem contents debugger-rebuy_core_source , encontramos que instala un montón de encabezados diferentes para diferentes niveles de parches de Ruby:

    $ gem contents debugger-ruby_core_source | grep vm_core.h /Users/andrew/.gem/ruby/2.0.0/gems/debugger-ruby_core_source-1.3.2/lib/debugger/ruby_core_source/ruby-1.9.2-p290/vm_core.h /Users/andrew/.gem/ruby/2.0.0/gems/debugger-ruby_core_source-1.3.2/lib/debugger/ruby_core_source/ruby-1.9.2-p318/vm_core.h /Users/andrew/.gem/ruby/2.0.0/gems/debugger-ruby_core_source-1.3.2/lib/debugger/ruby_core_source/ruby-1.9.2-p320/vm_core.h ...

  • ¿Cuál es el nivel de parche actual?

    $ ruby -v ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

    Para transformar eso en el formato ruby-2.0.0-p318 utilizado por la gema debugger-ruby_core_source , usamos awk para imprimir solo el segundo campo de esa cadena de versión, y cambiamos la p a -p :

    $ ruby -v | awk ''{sub(/p/, "-p", $2); print $2}'' 2.0.0-p481

  • Ahora ejecutamos bundle install , con ARCHFLAGS configurado para agregar el directorio que contiene los encabezados ruby ​​a la ruta de búsqueda de archivos de inclusión, y precargar vm_core.h :

    gem install debugger-ruby_core_source / && ARCHFLAGS="-I$(dirname -- / "$(gem which debugger/ruby_core_source/ruby-$(ruby -v | awk ''{sub(/p/, "-p", $2); print $2}'')/vm_core.h)") / -include vm_core.h" / bundle install

    es decir,

    gem install debugger-ruby_core_source / && ARCHFLAGS="-I<path-to-dir_containing_vm_core.h> -include vm_core.h" / bundle install


Para aquellos que están usando gem ''pry-debugger'' simplemente cámbielo a gem ''pry-byebug'' en su Gemfile .



Ruby 2.x no es compatible con la gema del depurador y deberías usar byebug en byebug lugar. Una vez que se lance Rails 4.2.0 (o si usa las versiones de Rails 4.2.0rc), byebug será el depurador predeterminado incluido en su Gemfile, pero si está en una versión anterior de Rails, deberá hacer el cambio. manualmente en tu Gemfile.

Sólo reemplazar

gem "debugger"

con

gem "byebug"

en su Gemfile y ejecute un bundle install .

Un poco más de fondo

Incluso el mantenedor de la gema depuradora hace esta recomendación. El archivo README de la gema del depurador en GitHub tiene la siguiente note :

  • Sólo 1.9.2 y 1.9.3 son compatibles. Para rubíes 2.X, considera usar byebug .

El mantenedor no tiene intención de arreglar esto; cerró el problema. El issue arreglar, lo que explica que el depurador nunca admitió correctamente a Ruby 2.X y que ahora recomienda byebug .

Además, el mantenedor del depurador no ha enviado un compromiso ni ha respondido a una solicitud de extracción desde junio de 2014. La gema parece ser un software de abandono en este momento.

Rails ha adoptado byebug como el depurador oficial para Ruby 2.X a partir de esta solicitud de extracción en abril , y desde Rails 4.2.0 en adelante, el Gemfile creado cuando ejecutas rails new my_new_app_name hará referencia a byebug lugar de debugger para los usuarios de Ruby 2.X .

tl; dr

El depurador está muerto. Utilice byebug .


**Step 1** gilchristiano@rails-intro:~/workspace (master) $ rails --version Could not find debugger-1.6.6 in any of the sources Run `bundle install` to install missing gems. **Step 2** gilchristiano@rails-intro:~/workspace (master) $ debugger-1.6.6 bash: debugger-1.6.6: command not found **Step 3** gilchristiano@rails-intro:~/workspace (master) $ gem install debugger -v ''1.6.6'' Building native extensions. This could take a while... Successfully installed debugger-1.6.6 1 gem installed **Step 4** gilchristiano@rails-intro:~/workspace (master) $ bundle install