使用Ruby 1.9.3进行ruby-debug?

时间:2011-11-10 23:01:32

标签: ruby-on-rails ruby ruby-1.9.3 ruby-debug

我刚刚更新到Ruby 1.9.3p0和Rails 3.1.1。现在,当我尝试启动服务器时,它抱怨我应该安装ruby-debug,即使它已经安装了。

% rails server --environment=development --debug
=> Booting WEBrick
=> Rails 3.1.0 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中我有

# see: http://stackoverflow.com/questions/1083451/debugging-in-ruby-1-9
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"

是否可以使用最新版本的Ruby运行调试?

9 个答案:

答案 0 :(得分:102)

更新(2012年4月28日)

尝试新的debugger gem作为ruby-debug的替代品。

credit to @ryanb)功能


更新(2012年3月2日)

使用以下命令可以轻松完成linecache19和ruby-debug-base19的安装:

bash < <(curl -L https://raw.github.com/gist/1333785)

credit to @fredostarr)功能


原始答案

你看过ruby-debug19 on ruby-1.9.3-preview1吗?

  

这是一个临时解决方案:   http://blog.wyeworks.com/2011/11/1/ruby-1-9-3-and-ruby-debug

     

摘自该网站:

     

首先下载linecache19-0.5.13.gem和   ruby-debug-base19-0.11.26.gem来自   http://rubyforge.org/frs/?group_id=8883,然后......

$ gem install linecache19-0.5.13.gem 
Building native extensions.  This could take a while...
Successfully installed linecache19-0.5.13
1 gem installed
$ gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=/Users/santiago/.rbenv/source/ruby-1.9.3-p0  
Building native extensions.  This could take a while...
Successfully installed ruby-debug-base19-0.11.26
1 gem installed
$ irb
irb(main):001:0> require 'ruby-debug'
=> true

答案 1 :(得分:33)

使用以下命令可以轻松完成linecache19和ruby-debug-base19的安装:

bash < <(curl -L https://raw.github.com/gist/1333785)

答案 2 :(得分:5)

其他人发表评论试图尝试Pry,这就是我所做的。这是Rails所必需的:

# Gemfile
gem 'pry-rails'


# In your Rails Project where you want a 'debugger'

puts 'i want to insert some code between this'

binding.pry

puts 'and this'

安装后我立即注意到我的.irbrc没有加载,所以我没有得到漂亮的控制台输出。我还把它添加到我的'〜/ .pryrc'

# setting up pry to have irb helpers like reload!
if defined?(Rails) && Rails.env
  extend Rails::ConsoleMethods
end

Pry有一些我想要查看的很好的功能,一旦有一种简单的方法将它集成到Ruby 1.9.3的Rails项目中,我可能会回到ruby-debug。我可以从其他答案运行curl命令,但这是我必须指出我的队友参加我们的Rails项目,所以它不能很好地扩展IMO。

答案 3 :(得分:4)

也许不是这个问题的明确答案,但我在这里被一系列封闭的副本带头。

对我来说问题是我在ruby 1.8和ruby 1.9中运行了一个项目,我的Gemfile需要这个改变:

gem 'debugger', :require => 'ruby-debug', :platforms => :mri_19
gem 'ruby-debug', :platforms => :mri_18

现在它适用于两种红宝石。

有关详细信息,请参阅此处:http://gembundler.com/man/gemfile.5.html#PLATFORMS-platforms-

答案 4 :(得分:2)

对于Windows用户:

首先下载:linecache19-0.5.13.gem和ruby-debug-base19-0.11.26.gem 来自:http://rubyforge.org/frs/?group_id=8883&release_id=46303

假设:Ruby位于c:\ Ruby1.93

将下载的gem文件放到c:\ temp  (linecache19-0.5.13.gem和ruby-debug-base19-0.11.26.gem)

然后从命令行执行:

  

gem install c:\ temp \ linecache19-0.5.13.gem

     

gem install c:\ temp \ ruby​​-debug-base19-0.11.26.gem - --with-ruby-include = C:\ Ruby1.93 \ include \ ruby​​-1.9.1 \ ruby​​-1.9。 3-P0

答案 5 :(得分:1)

BTW,如果您使用ruby1.9.3(falcon,https://gist.github.com/1688857)的最新补丁,请使用以下命令

wget http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
wget http://rubyforge.org/frs/download.php/75415/ruby-debug-base19-0.11.26.gem

gem install linecache19-0.5.13.gem
## with rvm: 
gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=$HOME/.rvm/src/ruby-1.9.3-p0-falcon
## with rbenv (this is a guess): 
gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=$HOME/.rbenv/source/ruby-1.9.3-p0-falcon

答案 6 :(得分:1)

请在此处查看我的回答: Ruby-debug not working - Stack Overflow

这是关于让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
    

基本上,我不得不使用:

linecache19 (0.5.13)
ruby-debug-base19x (0.11.30.pre10)
ruby-debug-ide (0.4.16)

请注意,我没有使用ruby-debug-base19,而是使用ruby-debug-base19x

我希望这有帮助!

- 弗雷迪

答案 7 :(得分:0)

另外你需要检查gem&#39; ruby​​_source_code&#39;已安装。

检查:http://bugs.ruby-lang.org/issues/1857#note-8

答案 8 :(得分:0)

如果您没有rvm并假设ruby安装位于/usr/local/ruby-1.9.3-po,您可以使用此命令:

curl -L https://raw.github.com/gist/1533750 | sudo / bin / bash