Ruby 2.1.0 / 2.1.1 / 2.1.2 不支持调试器 gem
Posted
技术标签:
【中文标题】Ruby 2.1.0 / 2.1.1 / 2.1.2 不支持调试器 gem【英文标题】:Debugger gem not supported in Ruby 2.1.0 / 2.1.1 / 2.1.2 【发布时间】:2014-01-16 13:45:05 【问题描述】:我刚刚将我的 RVM Ruby 安装升级到 2.1.0 版并尝试捆绑安装,但出现以下错误:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
Ruby version 2.1.0 is not supported.
*** extconf.rb failed ***
这个错误当然是不言自明的,但我想知道是否有办法让 Debugger gem 与最新版本的 Ruby 一起工作?
【问题讨论】:
您要安装哪个版本的调试器 gem?只有调试器 1.6.4 支持 Ruby 2.1.0。 我正在尝试安装 1.6.4 【参考方案1】:看起来 1.6.5 版增加了对 Ruby 2.1.0 的支持。 - 按预期工作。
更新: 由于 Ruby 2.1.1 已经发布,应该使用 1.6.8 版的 Debugger。
【讨论】:
是的,从 2.1.0 切换到 2.1.1 并且工作正常)很酷。非常感谢男人 调试器在 ruby 2 中按预期工作只是运气。它最终会出现段错误或行为怪异。请使用 byebug。 调试器在 ruby 2 中不支持 github.com/cldwalker/debugger/issues/125#issuecomment-43353446【参考方案2】:这在其中一个 cmets 中提到过,但我想提请注意:
byebug 是目前推荐用于 Ruby 2.0+ 的调试器
此问题已记录在 here,调试器的作者 cldwalker 指出,调试器将适用于 Ruby 1.9.2 和 1.9.3。
【讨论】:
【参考方案3】:对于那些使用 Ruby 2.1.2 并在构建原生 gem 扩展时遇到此错误的用户:
没有这样的文件或目录@rb_file_s_stat - ./212/ruby_debug.h (Errno::ENOENT)
结论是用byebug(https://github.com/cldwalker/debugger/issues/131)
【讨论】:
【参考方案4】:1.6.4 版本是expected to have limited 2.1.0 support(我猜这意味着它至少应该编译和运行)。这是commit。
但是,其他用户reported a compilation issue two days ago (#110)。您可以关注讨论以查看问题何时会得到解决。您还可以在工单中发布您的编译错误和环境详细信息,以便维护者可以获得更多信息。
【讨论】:
是的,extconf.rb 有 if/else 结构,它比较 ruby 版本,如果版本不是 2.0.0 或 1.9.x,它会说:不支持 Ruby 版本 X.X.X。以上是关于Ruby 2.1.0 / 2.1.1 / 2.1.2 不支持调试器 gem的主要内容,如果未能解决你的问题,请参考以下文章
Ruby 2.0.0,而不是 Rails 网站上的 2.1.0 推荐?
您的 Ruby 版本是 2.0.0,但您的 Gemfile 指定了 2.1.0