2012-12-27 7 views
24

Durante il tentativo fascio correre per un nuovo progetto, sto incontrando il seguente errore:Errore debugger installazione: Impossibile costruire gioiello estensione nativa con ruby-1.9.3-P362

Installing debugger (1.2.2) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

    C:/Ruby193/bin/ruby.exe extconf.rb 
checking for rb_method_entry_t.called_id in method.h... no 
checking for rb_control_frame_t.method_id in method.h... no 
checking for rb_method_entry_t.called_id in method.h... no 
checking for rb_control_frame_t.method_id in method.h... no 
Makefile creation failed 
************************************************************************** 
No source for ruby-1.9.3-p362 provided with debugger-ruby_core_source gem. 
************************************************************************** 
*** 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=C:/Ruby193/bin/ruby 
     --with-ruby-dir 
     --without-ruby-dir 
     --with-ruby-include 
     --without-ruby-include=${ruby-dir}/include 
     --with-ruby-lib 
     --without-ruby-lib=${ruby-dir}/lib 


Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/debugger-1.2.2 for inspection. 
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/debugger-1.2.2/ext/ruby_debug/gem_make.out 
An error occured while installing debugger (1.2.2), and Bundler cannot continue. 
Make sure that `gem install debugger -v '1.2.2'` succeeds before bundling. 

Esecuzione gem install debugger -v '1.2.2' produce lo stesso risultati.

Ho controllato i contenuti del file mkmf.log e gem_make.out e hanno poco senso, ma se richiesto li posterò.

Perché non funziona?

+4

Se 'ruby -v' ti dà' 2.x', considera invece l'utilizzo di [byebug] (https://github.com/deivid-rodriguez/byebug) (come [dichiarato nella documentazione ufficiale] (https://github.com/cldwalker/debugger#known-issues) * sono supportati solo 1.9.2 e 1.9.3 *). – Lucio

+1

@Lucio, byebug "richiede la versione 2.2.x" e successive. Apparentemente, gli utenti di Ruby 2.0 sono lasciati fuori al completo per un utile debugger (che non è decisamente forzato). – Otheus

risposta

41

Ho incontrato lo stesso problema. Ho provato:

bundle update debugger

mio Gemfile avuto questo:

gem 'debugger'

e ha funzionato, non ho dovuto cambiare Gemfile. Uscita del fascio mostra qualcosa di simile

...

Installing debugger-ruby_core_source (1.1.6)

Installing debugger-linecache (1.1.2) with native extensions

Installing debugger (1.1.4) with native extensions

...

+0

La proverò una volta la prossima volta che riscontro un errore simile. Sembra che ho fatto il giro lungo per arrivarci ...;) – erroric

+0

What the! @ # $%^... Come funziona? ;) È un po 'come usare una nuova versione della gemma? –

+1

Perché ottengo 'apple $ bundle update debugger Impossibile trovare gem 'debugger'. Errore? – Gank

15

La soluzione al problema era semplicemente installare la gemma debugger-ruby_core_source - a forked version of debugger-ruby_core_source by eiel on github.

Dopo molti tentativi ed errori (da parte mia), ho semplicemente

gem install debugger-ruby_core_source -v '1.1.6' 

che costringono l'inserimento delle intestazioni P362. Poi, quando mi sono imbattuto bundle, debugger è stato costruito con successo con le estensioni native, e bundler continuato sul suo modo allegro e così è stato I.

Solo una nota, mentre ho usato semplicemente più volte, ho provato diverse cose e ho trascorso diverse ore per farlo funzionare prima di arrivare alla soluzione semplice.

+0

Bravo! 'gem install debugger-ruby_core_source' mi ha permesso di continuare il mio' bundle'ing way. :-) – chadoh

10

Forse è meglio usare l'aggiornamento del pacchetto, ha funzionato bene qui.

$ bundle update debugger-ruby_core_source

considerare l'uso di aggiornamento per tutte le gemme debugger:

$ bundle update debugger

0

che ha funzionato per me:

$ rvm use 2.0 

o per renderlo di default:

$ rvm use --default 2.0 
4

appena incontrato questo con Ruby 2.0.0 installato tramite RVM. Nessuna delle altre soluzioni ha funzionato per me.

RVM sarà solo l'installazione con i binari se sono disponibili, che è più veloce, ma debugger ha bisogno la fonte troppo

rvm reinstall 2.0.0 --disable-binary 
+0

grazie amico ... come dici" Nessuna delle altre soluzioni ha funzionato per me " –

+0

Hmm. Non ha funzionato qui. – cevaris

1

se si usa rvm, assicurarsi di avere la giusta versione sub per abbinare avvilire -ruby_core_source ordebugger-ruby_core_source.

, ovvero in debase-ruby_core_source per ruby ​​2.0.0 supportano solo p195, p247, p353, p451, p481, p576. precedente non è supportato!

se la versione rubino non corrisponde alla fonte fornita. non sarai in grado di superarlo. (che causa "Non riesci a trovare l'errore fonte!")

------------debase-ruby_core_source 0.6.0 vm_Core support list ---------------- 
../usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.0.0-p0/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.0.0-p195/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.0.0-p247/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.0.0-p353/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.0.0-p451/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.0.0-p481/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.0.0-p576/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.1.0-p0/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.1.1-p76/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.1.2-p95/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.1.3-p242/vm_core.h 
./usr/local/rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/debase-ruby_core_source-0.6.0/lib/debase/ruby_core_source/ruby-2.2.0-preview1/vm_core.h 
5

Dopo aver provato per un po ', ho finalmente rinunciato e sostituito debugger con byebug.

da usare con leva:

gem 'pry', group: [:development, :test] 
gem 'pry-byebug', group: [:development, :test] 

È possibile poi cadere una dichiarazione binding.pry ovunque si desidera avviare il debugger.

Problemi correlati