Подтвердить что ты не робот

Попытка использовать rspec, но получить сообщение об ошибке, что rspec-core 2.2.1 был активирован, но для моего Gemfile требуется rspec-core 2.1.0

Я обновляю свои драгоценные камни. Я создал образец Rails-приложения и имею следующее в моем Gemfile:

source 'http://rubygems.org'

gem 'rails', '3.0.3'
gem 'sqlite3-ruby', :require => 'sqlite3'

group :development do
  gem 'rspec-rails'
end

group :test do
  gem 'rspec'
  gem 'webrat', '0.7.1'
end

Однако, когда я запускаю 'rspec spec/', я получаю следующее сообщение: /home/jeff/.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/runtime.rb:27:в блоке в настройке: вы уже активировали rspec-core 2.2.1, но для вашего Gemfile требуется rspec-core 2.1.0. Рассмотрите возможность использования bundle exec. (Gem:: LoadError)

4b9b3361

Ответ 1

попробуйте использовать bundle update rspec и bundle update rspec-rails. ваш файл Gemfile.lock, расположенный в корневом каталоге, вероятно, укажет номер версии для каждого драгоценного камня.

Ответ 2

Мне помогла комбинация решений Сэма Ритчи и Алексея. В конце концов мне пришлось:

bundle update rspec
bundle update rspec-rails
sudo gem uninstall rspec-mocks
sudo gem uninstall rspec-expectations
sudo gem uninstall rspec-core

(запрашивает версии, если ни один не введен)

Как говорит Алексей, используйте это, чтобы увидеть, какие версии слишком высоки:

gem list rspec

(Проголосовал бы за вас Алексей, но, видимо, мне не хватает "репутации" на стеке.)

Ответ 3

У меня такая же проблема сейчас. чтобы исправить это, попробуйте:

sudo gem uninstall rspec-core -v 2.2.1
bundle update rspec-core

Возможно, вам понадобится сделать это для других зависимых драгоценных камней (например, rspec, rspec-rails и т.д.). Используйте команду, чтобы увидеть кандидатов:

gem list rspec

Ответ 4

Rails noob здесь... Я следую блестящему руководству Майкла Хартла... застрял в layouts

Попробовал изменить версии rspec и webrat, как упоминалось в этом сообщении о ошибках rspec/webrat, безрезультатно.

Для rspec v2.1.0 я получаю ту же ошибку, что и @user338413.

rspec -v возвращает 2.2.1


dev машина работает ubuntu 10.04

разрешено.... работает с rspec 2.2.0 + webrat 0.7.1, хотя мне все равно хотелось бы знать, почему

Ответ 5

Это легко решить:

bundle exec rspec

заставит связной использовать версию gem, которую вы требуете для своего проекта, игнорируя общесистемные настройки.

Ответ 6

измените номер версии с 2.1.0 на 2.2.1 в Gemfile.lock