ruby-debug с Ruby 1.9.3?

Я только что обновился до 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?


person dkobozev    schedule 10.11.2011    source источник
comment
да. stackoverflow.com/a/10414984/773690   -  person iblue    schedule 06.07.2012


Ответы (9)


Обновление (28 апреля 2012 г.)

Попробуйте новый гем debugger вместо ruby-debug.

(кредит @ryanb)


Обновление (2 марта 2012 г.)

Установку linecache19 и ruby-debug-base19 легко выполнить с помощью:

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

(кредит @fredostarr)


Оригинальный ответ

Вы смотрели ruby-debug19 на 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
person Dty    schedule 11.11.2011
comment
Проблема с этим подходом заключается в том, что эти шаги обходят Gemfile, добавляя ручной шаг перед запуском bundle install. Я написал решение, которое позволяет вам запускать сборщик в обычном режиме здесь: git.io/72UfQg - person chuckg; 24.02.2012
comment
Попробуйте новый гем отладчика: gem 'debugger' github.com/cldwalker/debugger - person ryanb; 08.04.2012
comment
Обновление: я упаковал эти драгоценные камни и поместил их в gemfury. При использовании Bundler хорошо запомнить --with-ruby-include. - person ; 24.04.2012
comment
Отладчик потрясающий. Это работает. Мой ответ прыгнул на собственный меч. - person ; 28.05.2012
comment
Вот как мне удалось установить его на свой локальный компьютер для rvm Ruby 1.9.3: - gist.github.com/ 4132084. Hth .. - person boddhisattva; 22.11.2012

Установку linecache19 и ruby-debug-base19 легко выполнить с помощью:

bash < <(curl -L https://raw.github.com/gist/1333785)
person fredostarr    schedule 25.11.2011
comment
Спасибо @fredostarr! Очень хорошо. - person Don Leatham; 16.12.2011
comment
Кроме того, чтобы он работал в рельсах, мне нужно было добавить в свой Gemfile gem 'linecache19', '>= 0.5.13' gem 'ruby-debug-base19', '>= 0.11.26' gem 'ruby-debug19' - person jacob; 23.03.2012
comment
Попробуйте новый гем отладчика: gem 'debugger' github.com/cldwalker/debugger - person ryanb; 08.04.2012
comment
@ryanb Спасибо, любезный сэр! Я боялся заставить rdebug работать с 1.9.3 (а delayed_job вызывал хаос с 1.9.2-p290) - person vfilby; 18.04.2012

Кто-то еще написал в комментарии, чтобы попробовать 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-debug, как только появится простой способ интегрировать его в проект Rails для Ruby 1.9.3. Я могу запустить команду curl из других ответов, но это то, на что мне нужно указать моих товарищей по команде для нашего проекта Rails, поэтому он плохо масштабируется, ИМО.

person Eric Hu    schedule 03.03.2012

Возможно, это не окончательный ответ на этот вопрос, но меня привела цепочка закрытых дубликатов.

Для меня проблема заключалась в том, что я запускаю проект как в 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-

person user132837    schedule 28.08.2012

Для пользователей 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

поместите загруженные гем-файлы в c: \ temp (linecache19-0.5.13.gem и ruby-debug-base19-0.11.26.gem)

затем выполните из командной строки:

gem установить c: \ temp \ linecache19-0.5.13.gem

установка gem 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

person Rommel    schedule 26.01.2012
comment
Путь по умолчанию для установщика Ruby - C: \ Ruby193. Также для этого требуется DevKit. - person ; 03.02.2012

Кстати, если вы используете новейший патч для 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
person mindreframer    schedule 29.01.2012
comment
Известно, что кто-нибудь запускал это в продакшене? - person ; 03.02.2012
comment
Что ж. Я бы не стал доверять ему запускать какой-либо большой сайт ... было слишком много мелких крайних случаев, и это просто крайность. подождите пару месяцев, к тому времени большинство ошибок должны быть устранены. ваше здоровье! - person mindreframer; 09.02.2012
comment
Проверил: патч Falcon и друзья - это круто, по крайней мере, для ускорения локального разработчика. - person ; 15.02.2012


Также вам необходимо проверить, установлен ли уже гем ruby_source_code.

Проверьте: http://bugs.ruby-lang.org/issues/1857#note-8

person feroult    schedule 29.12.2011

Если у вас нет rvm и предполагается, что установка ruby ​​находится в /usr/local/ruby-1.9.3-po, вы можете использовать эту команду:

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

person Alain Beauvois    schedule 29.12.2011