Ruby on rails Ruby调试不工作

Ruby on rails Ruby调试不工作,ruby-on-rails,ruby-debug,Ruby On Rails,Ruby Debug,我无法使服务器以调试模式启动: 即使我安装了所有正确的gems,服务器仍然拒绝启动 $ gem install ruby-debug ERROR: Error installing ruby-debug: rbx-require-relative requires Ruby version ~> 1.8.7. 这不起作用,其他帖子说使用ruby-debug19: David@DAVID-PC /c/triton6 $ gem install ruby-debug19 S

我无法使服务器以调试模式启动:

即使我安装了所有正确的gems,服务器仍然拒绝启动

$ gem install ruby-debug
ERROR:  Error installing ruby-debug:
       rbx-require-relative requires Ruby version ~> 1.8.7.
这不起作用,其他帖子说使用ruby-debug19:

David@DAVID-PC /c/triton6 
$ gem install ruby-debug19
Successfully installed ruby-debug19-0.11.6
1 gem installed
Installing ri documentation for ruby-debug19-0.11.6...
Installing RDoc documentation for ruby-debug19-0.11.6...

David@DAVID-PC /c/triton6 
$ rails server --debug
=> Booting WEBrick
=> Rails 3.1.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
You need to install ruby-debug to run the server in debugging mode. With gems, use 'gem install > ruby-debug' 
Exiting
知道怎么办吗

这是我的档案:

source 'http://rubygems.org'

gem 'rails', '3.1.3'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'
gem 'ruby-debug19'
gem 'execjs'
gem 'ruby-debug-ide'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails',   '~> 3.1.5'
gem 'coffee-rails', '~> 3.1.1'
gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'

group :test do
# Pretty printed test output
gem 'turn', '0.8.2', :require => false
end

确保gem文件中有
gem“ruby-debug19”:require=>“ruby debug”
,然后运行
bundle安装
:)


Edit:添加了重要的
:require=>
语句,我以前错过了这条语句,我想答案已经在您的GEM文件中了

gem 'ruby-debug19', :require => 'ruby-debug'
为了让ruby调试在AptanaStudio 3中工作,我遇到了同样的问题(甚至更多)。我的设置和使其工作的步骤:

  • Mac OS X Lion 10.7.2
  • 阿普塔纳工作室3(建筑3.0.8.201658)
  • 使用rvm,在我的项目工作目录中有一个.rvmrc,说明:

    rvm use ruby-1.9.3-p0@mygemset
    
为了使ruby调试在AptanaStudio中工作,我现在有以下设置

  • 在我的GEM文件末尾,我有:

    gem "ruby-debug-base19x", "0.11.30.pre10"
    gem 'ruby-debug-ide'
    
请注意,我没有使用ruby-debug-ide19和ruby-debug19,Aptana Studio只是拒绝使用这个gem。不管怎样,它总是选择ruby debug ide 0.4.16

我也没有使用ruby-debug-base19,而是使用ruby-debug-base19x

  • 要构建最新的ruby-debug-base19x,请确保指定正确的ruby上下文(包括):

失去rvm。。。不要在不使用rvm时使用

  • 不要忘记从您的项目工作目录进行捆绑安装(或捆绑更新)。在我的终端中,当我键入“Bundle list”时,对于提到的gem,将列出以下版本:

    linecache19 (0.5.13)
    ruby-debug-base19x (0.11.30.pre10)
    ruby-debug-ide (0.4.16)
    
  • 重要提示:如果您使用的是linecache19版本0.5.12而不是.13,请从下载最新版本。我将其下载到我的~/Downloads文件夹中,因此在我的rvm上下文中构建和安装此gem如下所示:

    rvm 1.9.3-p0@mygemset do gem install ~/Downloads/linecache19-0.5.13.gem -- --with-ruby-include=/Users/Freddy/.rvm/src/ruby-1.9.3-p0
    
如果需要安装linecache19版本0.5.13,请不要忘记再次运行“bundle update”

  • 在此之后,我在ide中运行调试器时遇到的最后一个问题(及其解决方案)如下所述:

将第一个答案中提供的代码放在xml_printer.rb中的“module Debugger”语句上方

享受吧

--弗雷迪

关于构建ruby-1.9.3-p0的说明。这有点超出了问题的范围,但由于构建了它,这(也是)一个痛苦的提示。编译ruby-1.9.3.-p0时出现了多个与openssl相关的编译器错误。最好的做法是在rvm环境中安装openssl-0.9.8n包:

  • 安装XCode 4.2后,首先需要在.rvmrc或.profile中添加以下内容:

    export CC=/usr/bin/gcc-4.2
    
不允许启用它,例如$source~/.rvmrc

  • 在rvm环境中安装openssl-0.9.8n包(另请参阅):


让它对我起作用的是:

sudo gem install ruby-debug19
gem install linecache19
gem install ruby-debug-base19
bundle update
rails server -u

ruby调试被破坏了。该项目的一个新分支正在发挥作用,目前正被广泛使用。这是相同的代码,只是修正了。这个新版本现在是核心RubyonRails项目中使用的版本

这里是新的宝石:

要使用它,只需将其包含在gem文件中即可

gem 'debugger'
这里有一个链接,指向将其拉入rails的提交:


这是我的答案。我跟随这篇文章没有成功(

我将下面的gem添加到我的Gemfile中,并==>>运行
$bundle install
…已工作

=添加到Gemfile=>
gem'ruby debug ide','~>0.4.22'

Installing ruby-debug-ide 0.4.22
Using sass 3.2.19
Using sass-rails 4.0.3
Using sdoc 0.4.0
Using spring 1.1.3
Using sqlite3 1.3.9
Using turbolinks 2.2.2
Using uglifier 2.5.1
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
-SVE1411EGXB:~/Desktop/myapp$ 

我添加了我的Gemfile,并仔细检查了我是否在正确的位置执行。我完全不知所措。我认为Joel的答案是正确的:
gem“ruby-debug19”,:require=>“ruby debug”。
至少,这是我基于ruby 1.9的Rails应用程序所说的(现在我费心实际查看一些Gemfile…)堆栈跟踪说明了什么?在发布多个问题的复制粘贴样板/逐字回答时要小心,这些问题往往被标记为“垃圾邮件”由社区提供。如果你这样做,那么通常意味着问题是重复的,因此将其标记为:谢谢你的建议,只是为了提供帮助,因为我真的被卡住了,这段代码的一个新分支已经生成,并且正在工作。现在使用
gem'debugger'
。这里有一个链接,指向这个新版本是从哪里获得的n用于核心rails项目:我已经安装了cldwalker/debugger gem,并将其包含在我的gem文件中。当我运行Aptana 3 debug server时,它仍然显示:找不到“rdebug ide”二进制脚本。可能需要安装“ruby debug ide”gem,或者可能需要将gem可执行目录添加到路径中(通过“gem环境”检查位置)。您需要使用“ruby debug ide”吗?我个人不使用调试器的这一部分,而且我的gem文件中也没有gem。您是否尝试过将其取出,看看是否可以使用调试器?我的gem文件中只有“debugger”,可以通过rails服务器进行调试。
gem 'debugger'
Installing ruby-debug-ide 0.4.22
Using sass 3.2.19
Using sass-rails 4.0.3
Using sdoc 0.4.0
Using spring 1.1.3
Using sqlite3 1.3.9
Using turbolinks 2.2.2
Using uglifier 2.5.1
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
-SVE1411EGXB:~/Desktop/myapp$