web-dev-qa-db-ja.com

デバッガーのインストールエラー:Ruby-1.9.3-p362でgemネイティブ拡張をビルドできませんでした

新しいプロジェクトのバンドルを実行しようとすると、次のエラーが発生します。

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.

ランニング gem install debugger -v '1.2.2'も同じ結果になります。

Mkmf.logとgem_make.outファイルの内容を確認しましたが、ほとんど意味がありませんが、要求があれば投稿します。

なぜこれが機能しないのですか?

25
erroric

同じ問題に遭遇しました。私は試した:

_bundle update debugger_

私のGemfileはこれを持っていました:

_gem 'debugger'_

そしてそれはうまくいった、私はGemfileを変更する必要はなかった。バンドルの出力はこのようなものを示しています

_..._

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

_..._

41
user1783021

この問題の解決策は、単にdebugger-Ruby_core_source gem-a githubのeielによるdebugger-Ruby_core_sourceのフォークバージョン をインストールすることでした。

多くの試行錯誤の後(私の側で)、私は単に

gem install debugger-Ruby_core_source -v '1.1.6'

これにより、p362ヘッダーが強制的に含まれます。次に、bundleを実行したときに、ネイティブ拡張を使用してデバッガが正常にビルドされ、バンドルはそれを続行し、私もそうしました。

ただのメモですが、simplyを数回使用しましたが、実際にアクセスする前に、いくつかのことを試し、これを機能させるために数時間費やしましたsimpleソリューション。

16
erroric

たぶんそれはバンドルのアップデートを使う方が良いでしょう。

$バンドル更新デバッガー-Ruby_core_source

すべてのデバッガgemの更新を使用することを検討してください:

$バンドル更新デバッガー

10
Rafael Sachetto

しばらく試してみて、ようやくあきらめてdebuggerbyebugに置き換えました。

てこで使用するには:

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

次に、binding.pryデバッガーを開始する任意の場所のステートメント。

6
cevaris

Ruby 2. *ではデバッガはサポートされていないようです。代わりにbyebugを使用してください。 http://edgeguides.rubyonrails.org/debugging_Rails_applications.html#debugging-with-the-byebug-宝石

6
fenec

Ruby 2.0.0がRVM経由でインストールされた状態でこれに遭遇しました。他の解決策はどれも私にとってうまくいきませんでした。

RVMは、使用可能な場合はバイナリとともにインストールされます。これは高速ですが、デバッガーにもソースが必要です。

rvm reinstall 2.0.0 --disable-binary
4
chris finne

rvmを使用する場合は、debase-Ruby_core_sourceまたはdebugger-Ruby_core_sourceと一致する適切なサブバージョンがあることを確認してください。

つまり、debase-Ruby_core_sourceでRuby 2.0.0はp195、p247、p353、p451、p481、p576のみをサポートします。上記はサポートされていません。

あなたのRubyバージョンが提供されたソースと一致しない場合、それを実行することはできません。(それが原因で「ソースエラーが見つかりません!」)

------------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
1
TC Juan

それは私のために働きました:

$ rvm use 2.0

またはそれをデフォルトにする:

$ rvm use --default 2.0
0
zombie_ghast