Rspec - проблемы с переходом с плагинов на гемы
-
05-07-2019 - |
Вопрос
Если отказаться от использования плагинов rspec и rspec-rails и вместо этого перейти на версии gem, нужно ли мне что-то дополнительно изменить в spec_helper.rb или что-то еще, чтобы спецификации моего приложения увидели изменения?
Я больше не могу успешно работать со своими спецификациями после удаления плагинов и установки драгоценных камней (1.1.8).
Точнее, вот что я сделал:
- удалите ранее установленные плагины rspec и rspec-rails из каталога поставщиков
- sudo установил драгоценные камни rspec и rspec-rails (на момент написания этой статьи последней версией была версия 1.1.8)
При запуске скрипта/автоспецификации я получаю следующее сообщение:
/Library/Ruby/Site/1.8/rubygems.rb:578:in
report_activate_error': RubyGem version error: hoe(1.5.0 not >= 1.7.0) (Gem::LoadError) from /Library/Ruby/Site/1.8/rubygems.rb:134:in
активировать 'from /library/ruby/site/1.8/rubygems.rb:158:INactivate' from /Library/Ruby/Site/1.8/rubygems.rb:157:in
Каждый 'from /library/ruby/site/1.8/rubygems.rb:157:INactivate' from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in
Требовать 'от/library/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:INrequire' from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:in
new_constants_in 'from /library/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:INrequire' from /Volumes/tangoflash/code/tangoflash/spec/spec_helper.rb:5 from spec/helpers/sessions_helper_spec.rb:1:in
Требовать от Spec/Helpers/sessions_helper_spec.rb: 1
При попытке запустить один пример rspec через Textmate я получаю:
/Library/Ruby/Site/1.8/rubygems.rb:578:in
report_activate_error': RubyGem version error: hoe(1.5.0 not >= 1.7.0) (Gem::LoadError) from /Library/Ruby/Site/1.8/rubygems.rb:134:in
активировать» из /Library/Ruby/Site/1.8/rubygems.rb:158:inactivate' from /Library/Ruby/Site/1.8/rubygems.rb:157:in
каждый» из /Library/Ruby/Site/1.8/rubygems.rb:157:inactivate' from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in
require» из /Users/allanlibunao/Library/Application Support/TextMate/Bundles/RSpec.tmbundle/Support/lib/spec/mate.rb:14 из /tmp/temp_textmate.KQTYKh:3:в «require» из /tmp/ temp_textmate.KQTYKh:3
Любая помощь была бы потрясающей.
Решение
Судя по вашему сообщению об ошибке, у вас установлена не последняя версия hoe
драгоценный камень установлен.Попробуйте сделать gem install hoe --version '> 1.7.0
и посмотрим, поможет ли это.Возможно, при установке rspec
и rspec-rails
драгоценных камней, вы также не получили зависимости, и могут отсутствовать другие зависимые драгоценные камни.