rake db: создание прервано! при обновлении gem

#ruby-on-rails #ruby

#ruby-on-rails #ruby

Вопрос:

Я обновил Ruby с 2.7.1 до 3.0.0 и rails с 6.0.3 до 6.1.0 на новой машине разработки.

После запуска rake db: create у меня появляется следующая ошибка

rake прерван! Ошибка имени: неинициализированная константа RSpec::Rails::Railtie::SourceAnnotationExtractor /Users/lonh/projects/codesign/config/application.rb:7:в <top (required)>' /Users/lonh/projects/codesign/Rakefile:4:in require_relative’ /Users/lonh/projects/codesign/Rakefile:4:в `<top (обязательно)>’

Вызвано: Ошибка имени: неинициализированная константа RSpec::Rails::Railtie::SourceAnnotationExtractor /Users/lonh/projects/codesign/config/application.rb:7:в <top (required)>' /Users/lonh/projects/codesign/Rakefile:4:in require_relative’ /Users/lonh/projects/codesign/Rakefile:4: в `<top (обязательно)>’ (Посмотрите полную трассировку, запустив задачу с помощью —trace)

Мой контекст Gemfile приведен ниже

 source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '3.0.0'

# FOUNDATION
gem 'rails', '6.1.0'
gem 'dotenv-rails', require: 'dotenv/rails-now'
gem 'pg', '>= 0.18', '< 2.0'
gem 'coffee-rails', '~> 5.0'
gem 'webpacker'

# PERFORMANCE
gem 'bootsnap', '>= 1.1.0', require: false
gem 'dalli'
gem 'memcachier'
gem 'turbolinks', '~> 5'
gem 'puma', '~> 3.11'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'sinatra', :require => nil # for sidekiq UI
gem 'sidekiq-status'
gem 'sidekiq'
gem 'redis-rails'
gem 'redis-objects'
gem 'redis-namespace'

# TOOLS
gem "sentry-raven"
gem 'devise'
gem 'jbuilder'
gem 'rack-cors', :require => 'rack/cors'
gem 'postmark-rails'
gem 'google-webfonts', require: 'google/webfonts/rails'

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  gem 'letter_opener'
  gem 'rspec-rails', '~> 3.6.0'
  gem "factory_bot_rails", "~> 4.10.0"
end

group :development do
  # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
  gem 'rename'
  gem "better_errors"
  gem "binding_of_caller"
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '>= 3.0.5', '< 3.2'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
  gem 'spring-commands-rspec'
end

group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '>= 2.15'
  gem 'selenium-webdriver'
  # Easy installation and use of chromedriver to run system tests with Chrome
  gem 'chromedriver-helper'
  gem 'database_cleaner-active_record'
  gem 'shoulda-matchers', '~> 4.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
 

Моей машиной разработки является Macbook Pro M1. Я гость, это может быть причиной проблемы.

Комментарии:

1. пожалуйста, поделитесь своим файлом cofig / application.rb

2. @HafizAbdulRehman: спасибо за вашу помощь. Я обновляю Gemfile и application.rb

3. Gemfile

Ответ №1:

Я нашел решение обновить rspec до последней версии