无法安装 ruby​​-debug-base19x gem

Posted

技术标签:

【中文标题】无法安装 ruby​​-debug-base19x gem【英文标题】:Can't install ruby-debug-base19x gem 【发布时间】:2012-06-19 22:44:17 【问题描述】:

当我尝试安装 ruby​​-debug-base19x gem 以使用 RubyMine IDE 调试我的应用程序时,我收到以下错误消息,有人可以帮助我吗?

我使用的是 Mac OS X 10.7.4

/Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for rb_method_entry_t.body in method.h... no
checking for vm_core.h... no
/Users/danilobarsotti/.rvm/gems/ruby-1.9.3-p194/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:39: Use RbConfig instead of obsolete and deprecated Config.
checking for rb_method_entry_t.body in method.h... no
checking for vm_core.h... yes
checking for iseq.h... yes
checking for insns.inc... yes
checking for insns_info.inc... yes
checking for eval_intern.h... yes
creating Makefile

make
compiling breakpoint.c
compiling ruby_debug.c
ruby_debug.c:24: error: conflicting types for ‘rb_iseq_compile_with_option’
/Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby-1.9.3-p194/vm_core.h:505: error: previous declaration of ‘rb_iseq_compile_with_option’ was here
ruby_debug.c: In function ‘call_at_line_unprotected’:
ruby_debug.c:474: warning: implicit conversion shortens 64-bit value into a 32-bit value
ruby_debug.c: In function ‘filename_cmp’:
ruby_debug.c:538: warning: implicit conversion shortens 64-bit value into a 32-bit value
ruby_debug.c:539: warning: implicit conversion shortens 64-bit value into a 32-bit value
ruby_debug.c: In function ‘optional_frame_position’:
ruby_debug.c:1695: warning: implicit conversion shortens 64-bit value into a 32-bit value
ruby_debug.c: In function ‘do_jump’:
ruby_debug.c:2310: warning: implicit conversion shortens 64-bit value into a 32-bit value
ruby_debug.c: In function ‘context_jump’:
ruby_debug.c:2378: warning: comparison between signed and unsigned
ruby_debug.c:2392: warning: comparison between signed and unsigned
make: *** [ruby_debug.o] Error 1

编辑

当我尝试使用“RubyMine Gem Tools”(在 RubyMine IDE 中)安装 gem 时,我收到以下消息:

运行开发时出错:myproject: 无法安装 Gems。 未安装以下 gem: /Applications/RubyMine.app/rb/gems/ruby-debug-base19x-0.11.30.pre10.gem: 安装 ruby​​-debug-base19x-0.11.30.pre10.gem 时出错:错误:失败 构建 gem 原生扩展。 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb 检查 method.h 中的 rb_method_entry_t.called_id ... * extconf.rb failed * 由于某种原因无法创建 Makefile,可能缺少 必要的库和/或标题。检查 mkmf.log 文件 更多细节。您可能需要配置选项。假如 配置选项:--with-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/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/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 /Users/danilobarsotti/.rvm/rubies/ruby- 1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:381:in try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:491:in block in try_compile' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:443:in with_werror' from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:491:in try_compile' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:1002:in block in have_struct_member' from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:790:in block in checks_for' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in block (2 levels) in postpone' from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in open' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in block in postpone' from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in open' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:280:in postpone' from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:789:in checking_for' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:1001:in have_struct_member' from extconf.rb:6:inblock in '来自 extconf.rb:31:in call' from extconf.rb:31:inblock in ' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:527:in with_cppflags' from extconf.rb:30:in ' Gem 文件将保留 安装在 /Users/danilobarsotti/.rvm/gems/ruby-1.9.3-p194/gems/ruby-debug-base19x-0.11.30.pre10 供检查。结果记录到 /Users/danilobarsotti/.rvm/gems/ruby-1.9.3-p194/gems/ruby-debug-base19x-0.11.30.pre10/ext/ruby_debug/gem_make.out /Users/danilobarsotti/Library/Preferences/RubyMine40/rb/linecache19-0.5.13.gem: 安装 linecache19-0.5.13.gem 时出错:错误:构建 gem 失败 本机扩展。 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb 检查 vm_core.h... * extconf.rb failed * 无法创建 Makefile 由于某种原因,可能缺少必要的库 和/或标题。检查 mkmf.log 文件以获取更多详细信息。你可能需要 配置选项。提供的配置选项:--with-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/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/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 /Users/danilobarsotti/.rvm/rubies/ruby- 1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:381:in try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:506:in try_cpp' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:931:in block in have_header' from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:790:in block in checks_for' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in block (2 levels) in postpone' from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in open' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:284:in block in postpone' from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:254:in open' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:280:in postpone' from /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:789:in checking_for' 来自 /Users/danilobarsotti/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:930:in have_header' from extconf.rb:15:inblock in '来自 /Users/danilobarsotti/.rvm/gems/ruby-1.9.3-p194/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:18:in call' from /Users/danilobarsotti/.rvm/gems/ruby-1.9.3-p194/gems/ruby_core_source-0.1.5/lib/ruby_core_source.rb:18:in create_makefile_with_core' 来自 extconf.rb:19:in ` ' Gem 文件将 保持安装在 /Users/danilobarsotti/.rvm/gems/ruby-1.9.3-p194/gems/linecache19-0.5.13 供检查。结果记录到 /Users/danilobarsotti/.rvm/gems/ruby-1.9.3-p194/gems/linecache19-0.5.13/ext/trace_nums/gem_make.out

【问题讨论】:

【参考方案1】:

1) 尝试从http://rubyforge.org/frs/?group_id=8883下载 linecache19-0.5.13.gem 和 ruby​​-debug-base19-0.11.26.gem

2) gem install linecache19-0.5.13.gem

3) gem install ruby​​-debug-base19-0.11.26.gem -- --with-ruby-include=[你的 ruby​​ 源代码] 或者您可以尝试 gem install ruby​​-debug-base19x --pre

【讨论】:

我下载了 linecache19-0.5.13.gem 并安装,然后我执行了 gem install ruby​​-debug-base19x --pre 现在一切正常,RubyMine 正在完美地调试我的代码!!谢谢!!我真的很感谢你的帮助!!!! 太棒了!很长一段时间以来,我一直在摸索另一个问题。谢谢! +1【参考方案2】:

你可以试试

gem install ruby-debug-ide19

(根据wiki)。这在 OS X 10.7.4 上为我安装,但您可能想试一试 debugger gem (gem install debugger)。与大多数 ruby​​-debug* gem 不同,它实际上得到了维护。

【讨论】:

没有用,仍然有同样的问题:(,我编辑了我的问题并包含更多信息。tks!【参考方案3】:

只需从您的 gems/gemset 中删除所有与调试相关的 gem,然后让 RubyMine 重新安装正确的 gem。为我工作。

【讨论】:

这对我也有用,当我运行“gem uninstall linecache19”时,我发现了其他依赖于它的 ruby​​-debug 版本。【参考方案4】:

@gamov 的解决方案对我有用,只需让 RubyMine 安装调试所需的所有 gem。

如果您要自己安装所有 gem,请务必确保版本正确。

无论如何,这里是 RubyMine 调试我的代码真正需要的 gem 列表:

宝石清单

大十进制 (1.1.0) 调试器-ruby_core_source (1.2.3) io 控制台 (0.3) json (1.5.5) minitest 2.5.1) 耙子 (0.9.2.2) rdoc (3.9.5) ruby-debug-base19x (0.11.30.pre12) ruby-debug-ide 0.4.17)

希望这会有所帮助,并希望更多的人不必诉诸于我们过去一直在做的旧方法。

请确保在尝试使用 RubyMine 进行调试之前安装 DevKit。 您应该能够从 ruby​​ 安装程序页面获取 DevKit(注意:不同的 DevKit 版本可用于不同的 ruby​​ 版本) 提取 DevKit Zip 文件并在您将 DevKit 提取到的目录中执行以下操作: '红宝石 dk.rb 初始化' 'Ruby dk.rb 安装'

【讨论】:

我希望我能投票赞成这个问题,但我是新来的!在我开始这样做之前需要更多积分......:C【参考方案5】:

我遇到了一个不同的问题,它阻止了我安装 ruby​​-debug-base19x,但导致了与 danilodeveloper 不同的特定错误。在这里提到它,因为那些有我问题的人可能会首先找到这个问题:

RubyMine 5.4.3.2.1 [喜欢那个版本号] 安装了一个版本的 debugger-ruby_core_source gem (1.1.9),它对于它想要的 ruby​​-debug-base19x (0.11.30.pre12) 来说太旧了,并且/或我正在使用的红宝石(1.9.3-p484)。解决办法是

gem update debugger-ruby_core_source

(升级到 1.3.2)并让 RubyMine 再次尝试安装 ruby​​-debug-base19x,成功。

【讨论】:

【参考方案6】:

我在 ruby​​mine 中设置了错误的 ruby​​ 版本;在菜单栏中转到“Rubymine”->“preferences”->“Ruby SDK and Gems”并确保它指向您期望的 Ruby 版本。

在这里找到这个想法:https://***.com/a/21056201/1462575

【讨论】:

以上是关于无法安装 ruby​​-debug-base19x gem的主要内容,如果未能解决你的问题,请参考以下文章

windows ruby​​ 调试 ide gem 安装失败

Ruby cairo gem 无法在 Mac OS X Yosemite 上安装

Windows / Ruby / Rails安装 - 。无法加载这样的文件--sqlite3 / sqlite3_native windows

没有可用的二进制红宝石:osx/10.13/x86_64/ruby-2.2.3

在 os x 上使 ruby​​ 1.9 默认 [重复]

RVM 在 OS X 10.11.6 上安装 ruby​​-2.3.0 时缺少符号