调试器不会安装 Rails 4.1.5
Posted
技术标签:
【中文标题】调试器不会安装 Rails 4.1.5【英文标题】:debugger won't install Rails 4.1.5 【发布时间】:2014-10-16 19:40:52 【问题描述】:所以我试图做一个bundle update
,我得到了:
Gem::Ext::BuildError: ERROR: 未能构建 gem 原生扩展。
/home/adam/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb
* extconf.rb failed * 由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。查看 mkmf.log 文件以获取更多详细信息。您可能需要配置 选项。
提供的配置选项:--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=/home/adam/.rvm/rubies/ruby-2.1.2/bin/ruby /home/adam/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in
stat': No such file or directory @ rb_file_s_stat - ./212/ruby_debug.h (Errno::ENOENT) from /home/adam/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in
block in fu_each_src_dest' 来自 /home/adam/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1587:infu_each_src_dest0' from /home/adam/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1571:in
fu_each_src_dest' 来自 /home/adam/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:399:incp' from extconf.rb:83:in
block in '来自 extconf.rb:82:ineach' from extconf.rb:82:in
'extconf 失败,退出代码 1
Gem 文件将继续安装在 /home/adam/.rvm/gems/ruby-2.1.2/gems/debugger-1.6.8 用于检查。 结果记录到 /home/adam/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/debugger-1.6.8/gem_make.out 安装调试器 (1.6.8) 和 Bundler 时出错 无法继续。确保
gem install debugger -v '1.6.8'
在捆绑之前成功。
所以我尝试执行以下操作:gem install debugger -v '1.6.8'
并得到了
构建原生扩展。这可能需要一段时间... 错误:错误 安装调试器:错误:无法构建 gem 原生扩展。
/home/adam/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb
* extconf.rb failed * 由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。查看 mkmf.log 文件以获取更多详细信息。您可能需要配置 选项。
提供的配置选项:--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=/home/adam/.rvm/rubies/ruby-2.1.2/bin/ruby /home/adam/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in
stat': No such file or directory @ rb_file_s_stat - ./212/ruby_debug.h (Errno::ENOENT) from /home/adam/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1573:in
block in fu_each_src_dest' 来自 /home/adam/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1587:infu_each_src_dest0' from /home/adam/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:1571:in
fu_each_src_dest' 来自 /home/adam/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/fileutils.rb:399:incp' from extconf.rb:83:in
block in ' 来自 extconf.rb:82:ineach' from extconf.rb:82:in
'extconf 失败,退出代码 1
Gem 文件将继续安装在 /home/adam/.rvm/gems/ruby-2.1.2/gems/debugger-1.6.8 用于检查。 结果记录到 /home/adam/.rvm/gems/ruby-2.1.2/extensions/x86_64-linux/2.1.0/debugger-1.6.8/gem_make.out
我还有 4 个其他 Rails 应用程序都在运行 4.1.5,它们都对 bundle update
没有任何问题,那么这是怎么回事?
【问题讨论】:
【参考方案1】:调试器 gem 不应该与 ruby 2.0+
一起使用,并且实际上不会与 ruby 2.1.2
一起安装。你将不得不切换到byebug。
如果你是 pry 的粉丝,还有pry-byebug
这是我在 Gemfile 中的调试 gem 在 Rails 4 和 Ruby 2.1.2 中的样子
group :development do
gem 'pry'
gem 'pry-remote'
gem 'pry-rails'
gem 'pry-stack_explorer'
gem 'pry-byebug'
end
【讨论】:
以上是关于调试器不会安装 Rails 4.1.5的主要内容,如果未能解决你的问题,请参考以下文章
使用 Intellij/Rubymine 在 docker 中调试 rails 应用程序
如何在带有 Rails 4.2 的专用调试端口上使用工头启动 Rails?