4

私はbundleMavericks で大規模なプロジェクトを実行しようとしていますが、rbenv の新規インストールにもかかわらず、いくつかの宝石が壊れているか、環境に問題があります。

$ gem install debugger -v '1.5.0'
Building native extensions.  This could take a while...
ERROR:  Error installing debugger:
    ERROR: Failed to build gem native extension.

        /Users/samat/.rbenv/versions/1.9.3-p448/bin/ruby 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-p448 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.
    ...

必要な設定オプションがわからない

mkmf では、次のようなものが表示されます

"gcc -I/Users/samat/.rbenv/versions/1.9.3-p448/include/ruby-1.9.1/x86_64-darwin13.0.0 -I/Users/samat/.rbenv/versions/1.9.3-p448/include/ruby-1.9.1/ruby/backward -I/Users/samat/.rbenv/versions/1.9.3-p448/include/ruby-1.9.1 -I. -I/Users/samat/.rbenv/versions/1.9.3-p448/include/ruby-1.9.1/ruby-1.9.3-p448 -I'/Users/samat/.rbenv/versions/1.9.3-p448/include'  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE  -I'/Users/samat/.rbenv/versions/1.9.3-p448/include'   -O3 -Wno-error=shorten-64-to-32  -pipe   -c conftest.c"
conftest.c:3:10: fatal error: 'method.h' file not found
#include <method.h>
         ^
1 error generated.
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <method.h>
    ...

私はrbenvを使用し、

$ rbenv version
1.9.3-p448 (set by /Users/samat/Documents/bm-git/.ruby-version)
4

6 に答える 6

12

デバッガーのページから、ルビーのソースが見つからない場合、debugger-ruby_core_source のインストールを試みると書かれていますが、これは実際に私にとって失敗したものです。私は rbenv を使用しているので、デバッガーの gem の指示に従って、rbenv のソースを指定しました。

gem install debugger -- --with-ruby-include=~/.rbenv/versions/1.9.3-p484/include

于 2014-01-06T14:11:57.673 に答える
0

これはあなたを助けるかもしれませんgem install debugger-linecache -v '1.1.2' -- --with-ruby-include=$rvm_path/src/ruby-1.9.3-p286/

于 2013-10-29T12:07:58.283 に答える
0

この問題は、パッケージの欠落に関連している場合があります。ほとんどの場合、これらのファイル (たとえばmethod.h) は という名前のパッケージに属していますlibXXX-dev

パッケージに含まれるファイルを特定するのは困難です。私は最近、この厄介な問題に対処するためのユーティリティに出くわしました (apt-getパッケージ マネージャーを使用する人向け)。このツールはapt-file次のように使用できます。

  1. インストール:sudo apt-get install apt-file
  2. apt-file db の更新:sudo apt-file update
  3. ファイルを見る:sudo apt-file search 'method.h'

結果は次のようになります。

...
libcxxtools-dev: /usr/include/cxxtools/constmethod.h
libcxxtools-dev: /usr/include/cxxtools/method.h
libcxxtools-dev: /usr/include/cxxtools/unit/testmethod.h
libgcj12-dev: /usr/include/c++/4.6/gcj/method.h
libgcj13-dev: /usr/include/c++/4.7/gcj/method.h
...

gemの特定のケースではdebugger、不足しているパッケージは `libcxxtools-dev`` です

Debian 3.2.54-2 x86_64 GNU/Linux を使用しています

于 2014-05-17T11:33:49.160 に答える
0

私にとって、それは許可の問題でした。

私はこの問題を解決することができました

sudo gem インストール デバッガー

これが役に立たない場合は、依存関係のうさぎの穴に巻き込まれる必要があるかもしれません。

于 2014-06-11T04:01:03.957 に答える