Ruby-debug无法正常工作

时间:2011-12-02 03:56:37

标签: ruby-on-rails ruby-debug

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

即使我安装了所有正确的gem,服务器也拒绝启动。

$ 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

知道该怎么做?

这是我的Gemfile:

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

6 个答案:

答案 0 :(得分:4)

确保您的Gemfile中有gem "ruby-debug19", :require => 'ruby-debug',然后运行bundle install:)

修改:添加了我之前错过的重要:require =>声明

答案 1 :(得分:3)

我遇到了同样的问题(以及更多)以便在Aptana Studio 3中进行ruby调试。我的设置和程序使其工作:

  • Mac OS X Lion 10.7.2
  • Aptana Studio 3(Build 3.0.8.201201201658)
  • 使用rvm,在我的项目工作目录中,我有一个.rvmrc说明:

    rvm use ruby-1.9.3-p0@mygemset
    

要在Aptana Studio中进行ruby调试,我现在有以下设置

  • 在我的Gemfile结尾处,我有:

    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上下文(include):

    rvm 1.9.3-p0@mygemset do gem install --pre ruby-debug-base19x -- --with-ruby-include=/Users/Freddy/.rvm/src/ruby-1.9.3-p0
    

当不使用rvm时,丢失rvm ...

  • 不要忘记从项目工作目录中进行Bundle安装(或捆绑更新)。在我的终端中,当我输入'Bunle list'时,对于上面提到的宝石,列出了以下版本:

    linecache19 (0.5.13)
    ruby-debug-base19x (0.11.30.pre10)
    ruby-debug-ide (0.4.16)
    
  • 重要提示:如果你有linecache19版本0.5.12而不是.13,请从RubyForge: ruby-debug19: Project Filelist下载最新版本。我将它下载到我的〜/ 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中运行调试器时的最终问题(及其解决方案):

Aptana 3 ruby debugger - Exception in DebugThread loop: undefined method `is_binary_data?'

将第一个答案中提供的代码放在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

答案 2 :(得分:1)

我认为答案已经在你的Gemfile中了。

gem 'ruby-debug19', :require => 'ruby-debug'

答案 3 :(得分:1)

ruby​​-debug被破坏了。该项目有一个新的分支,现在正在广泛使用。它是相同的代码,只是修复了。这个新版本现在是rails ruby​​ on rails项目中使用的版本。

这里是新宝石: https://github.com/cldwalker/debugger

要使用它,只需将其包含在您的gem文件

gem 'debugger'

这是指向提交到rails的提交的链接:

https://github.com/matschaffer/knife-solo/pull/38

答案 4 :(得分:0)

使我的工作成果是:

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

答案 5 :(得分:0)

这是我的灵魂。我跟着这篇文章没有成功。 :(

我将以下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$