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://stackru.com/questions/1083451/debugging-in-ruby-1-9
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"
Можно ли запустить отладку с последней версией Ruby?
9 ответов
Обновление (28 апреля 2012 г.)
Попробуйте новый гем отладчика в качестве замены для ruby-debug.
Обновление (2 марта 2012 г.)
Установка linecache19 и ruby-debug-base19 может быть легко выполнена с помощью:
bash < <(curl -L https://raw.github.com/gist/1333785)
Оригинальный ответ
Вы смотрели на 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
Установка linecache19 и ruby-debug-base19 может быть легко выполнена с помощью:
bash < <(curl -L https://raw.github.com/gist/1333785)
Кто-то еще написал в комментарии, чтобы попробовать 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, так что это плохо масштабирует IMO.
Возможно, не окончательный ответ на этот вопрос, но меня привела цепочка закрытых дубликатов.
Для меня проблема заключалась в том, что я запускаю проект как в 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
Для пользователей 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
Кстати, если вы используете новейший патч для ruby1.9.3 (сокол, 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
Смотрите мой ответ здесь: Ruby-debug не работает - переполнение стека
Речь идет о том, чтобы отладка Ruby работала со следующей настройкой
- Mac OS X Lion 10.7.2
- Aptana Studio 3 (сборка 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
Надеюсь, это поможет!
Фредди
Также вам необходимо проверить, установлен ли гем 'ruby_source_code'.
Проверьте: http://bugs.ruby-lang.org/issues/1857
Если у вас нет rvm и предполагается, что установка ruby находится в /usr/local/ruby-1.9.3-po, вы можете использовать эту команду:
curl -L https://raw.github.com/gist/1533750 | sudo / bin / bash