Rails 3.2.0 rspec не работает - PullRequest
       22

Rails 3.2.0 rspec не работает

3 голосов
/ 06 февраля 2012

Я только что обновился до ruby ​​1.9.3-p0 и rails 3.2.0.Я сейчас пытаюсь отладить ошибку в одном из моих тестов, используя

rspec spec -d

Но я получаю эту ошибку:

/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:422:in `rescue in debug=':  (RuntimeError)
**************************************************
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.so: undefined symbol: ruby_threadptr_data_type - /home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.so

If you have it installed as a ruby gem, then you need to either require
'rubygems' or configure the RUBYOPT environment variable with the value
'rubygems'.

/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/ruby-debug-base19-0.11.25/lib/ruby-debug-base.rb:1:in `require'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/ruby-debug-base19-0.11.25/lib/ruby-debug-base.rb:1:in `<top (required)>'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:5:in `require'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/ruby-debug19-0.11.6/cli/ruby-debug.rb:5:in `<top (required)>'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:408:in `require'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:408:in `debug='
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/configuration_options.rb:19:in `block in configure'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/configuration_options.rb:18:in `each'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/configuration_options.rb:18:in `configure'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:21:in `run'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run'
/home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun'
**************************************************
    from /home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:407:in `debug='
    from /home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/configuration_options.rb:19:in `block in configure'
    from /home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/configuration_options.rb:18:in `each'
    from /home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/configuration_options.rb:18:in `configure'
    from /home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:21:in `run'
    from /home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process'
    from /home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run'
    from /home/map7/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun'

Ответы [ 5 ]

10 голосов
/ 08 апреля 2012

Установите новый гем отладчика, который работает с Ruby 1.9.3 и 1.9.2:

https://github.com/cldwalker/debugger
4 голосов
/ 09 февраля 2012

Вставьте это в свой Gemfile:

# one-liner to install these properly: bash < <(curl -L https://raw.github.com/gist/1333785)
gem 'linecache19', '0.5.13'
gem 'ruby-debug-base19', '0.11.26'

Вам нужно будет запустить этот однострочник, чтобы сборщик мог подобрать нужные драгоценные камни.

РЕДАКТИРОВАТЬ: я забылссылка на сообщения, которые я использовал для отладки:

2 голосов
/ 15 октября 2013

Для меня все, что потребовалось, было:

gem 'debugger'

в Gemfile

2 голосов
/ 07 апреля 2012

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

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

строка в вашем Gemfile, в дополнение к инструкциям, которые предоставляет siannopollo. Без этого я получаю сообщение «не могу загрузить такой файл - ruby-debug» (OSX, rvm, 1.9.3-p125).

FWIW, суть жестко запрограммирована на 1.9.3-p0, поэтому, если вы используете 1.9.3-p125, вам, возможно, потребуется отредактировать ее (также, как правило, плохая идея выполнить гист, который вы не читали ).

1 голос
/ 06 февраля 2012

Пришлось обновить следующее

bundle update ruby-debug-base19
...