Ответ 1
Команда spec
была переименована в rspec
в версии 2.0. Вы все еще можете запустить его, потому что 1.x Gem все еще находится в вашей системе, он просто "скрыт" от Bundler, когда вы указываете 2.x в своем Gemfile.
Когда я запускаю spec из командной строки в приложении rails.
$spec spec
Я получаю следующую ошибку:
/Library/Ruby/Site/1.8/rubygems.rb:335:in `bin_path ': не удается найти исполняемую спецификацию для rspec-2.0.0.beta.22 (Gem:: Exception) из /usr/bin/spec: 19
Однако, когда я запускаю
$rake spec
Тесты выполняются нормально.
В чем проблема?
Команда spec
была переименована в rspec
в версии 2.0. Вы все еще можете запустить его, потому что 1.x Gem все еще находится в вашей системе, он просто "скрыт" от Bundler, когда вы указываете 2.x в своем Gemfile.
Для людей, которые работают с устаревшими проектами, страдающими этой проблемой, вы можете исправить эту ошибку, выполнив следующие действия:
which spec
Затем откройте этот файл в вашем любимом редакторе файлов и измените строку 11, которая выглядит как
version = '>= 0'
Для
version = '< 2'
И ваша команда spec снова будет работать:)
Run $ rspec spec/
не $ spec spec/